循环PowerShell重命名和移动

时间:2013-11-08 09:37:54

标签: powershell

首先,我应该提一下,我是一个PowerShell新手。

那就是说,我花了一些时间把这个脚本放在一起。基本上,它应该找到我的动漫文件,清理它们,并将它们移动到我的NAS。实际上,它不会产生任何错误,同时也不会产生任何结果:

Get-ChildItem 'B:\- Anime' |
    foreach {
        if ($_ -match "Naruto") {
            $tofolder = "D:\Anime\Naruto Shippuuden\"
            $a = $_.Name
            $a = $a.substring(15)
            $a = $a.substring(0, $a.length - 11)
            $b = $_.extension
            $OldName = $_.FullName
            $NewName = $tofolder + $a + $b
            Move-Item $OldName $NewName -force
            }
        elseif ($_ -match "Hunter") {
            $tofolder = "D:\Anime\Hunter X Hunter (2011)\"
            $a = $_.Name
            $a = $a.substring(15)
            $a = $a.substring(0, $a.length - 11)
            $b = $_.extension
            $OldName = $_.FullName
            $NewName = $tofolder + $a + $b
            Move-Item $OldName $NewName -force
            }
        elseif ($_ -match "Piece") {
            $tofolder = "D:\Anime\One Piece\"
            $a = $_.Name
            $a = $a.substring(8)
            $a = $a.substring(0, $a.length - 21)
            $a = $a.Replace("One_Piece_","One Piece - ")
            $b = $_.extension
            $OldName = $_.FullName
            $NewName = $tofolder + $a + $b
            Move-Item $OldName $NewName -force
            }
        else {
            "I have no idea what to do!"
            }
    }

我在这里缺少什么?

B:是映射的网络驱动器。 D:是映射的网络驱动器。 我是这个剧本所涉及的所有驱动器的管理员。

如果我使用Write-Host命令,则所有路径都是正确的。

提前感谢您的帮助。

0 个答案:

没有答案