Powershell v2.0を使用して、すべてのファイルとフォルダ名(サブフォルダとサブフォルダ内のファイルを含む)に「.backup」を追加します。Powershell 2.0のすべてのファイル、フォルダ、サブフォルダに「.backup」を追加します。
私はこのスクリプトを思い付いた:
$origin = get-childItem -recurse | ?{ !($_.name -like "*.backup") }
$folders = $origin | ?{ $_.PSIsContainer }
$files = $origin | ?{ ! $_.PSIsContainer }
$files | rename-item -force -newname { $_.name + '.backup' }
$folders | rename-item -force -newname { $_.name + '.backup' }
しかし、私は多くの項目のために、このエラーを取得し、パスを記述することは間違っている:
Rename-Item : Cannot rename because item at 'Microsoft.PowerShell.Core\FileSystem::E:\backup\test.backup\subfolder.backup\proc 1\backup\example.docx' does not exist.
At line:1 char:21
+ $files | rename-item <<<< -force -newname { $_.name + '.backup' }
+ CategoryInfo : InvalidOperation: (:) [Rename-Item], PSInvalidOperationException
+ FullyQualifiedErrorId : InvalidOperation,Microsoft.PowerShell.Commands.RenameItemCommand
しかし、そのようなファイル(example.docxが)に存在しますそれにもかかわらず、その道。
なぜこのエラーがスローされますか? PS 2.0のファイルやフォルダに「.backup」を追加するための正しいコードは何ですか?アイデアありがとう!
編集:私の質問は2つの理由でWhen renaming a file with PowerShell, how do I handle filenames with "["?の複製ではないと思います.1つの目的は異なっています(タイトルを見てください)。 2 - そのスレッドは、私が欲しいことをするためのコードを提供していませんが、それは良い出発点です(それが私の答えでそれにリンクしていた理由です)。私の質問は無関係かもしれませんが、理解するまでに数時間かかりました。しかし、私の質問はひどく定式化されています、私は今それを再作成します。
[PowerShellでファイルの名前を変更すると、 "\ ["?](http://stackoverflow.com/questions/14259317/when-renaming-a-file-with-powershell)でファイル名を処理するにはどうすればいいですか? -how-do-i-handle-filenames-with) –