0

最初に、私は 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 コマンドを使用すると、すべてのパスが正しくなります。

よろしくお願いします。

4

0 に答える 0