〜40個のフォルダにある数千のファイルがあります(これらのサブフォルダは同じスーパーフォルダにあり、「test」と呼ばれます)。私はpowershellを使用して、フォルダ名にある構文だけでなく、ファイル名に置き換えようとしました。Windows Powershellのバッチファイルとフォルダの名前変更
基本的に私のフォルダやファイルは私が最初のファイルに関心の&フォルダをマッピングするために使用されるコードは「PXXXX_」ここ
に名前を変更するバッチにしたい「PXXXX_0」の文字と同じ文字列が含まれ
cd C:\test
Get-ChildItem -Filter "*PXXXX_0*" -Recurse | Rename-Item -NewName {$_.name -replace 'PXXXX_0', 'PXXXX_'} -whatif
これが唯一のファイルの、だからこれが動作しているようです例えば
What if: Performing operation "Rename File" on Target "Item: C:\test\PXXXX_053\PXXXX_053_558.jpg Destination C:\test\PXXXX_053\PXXXX_53_558.jpg
(私の右のファイルを与え、行動をプレビュー私も名前を変更したいフォルダの中に入れてください。私は...唯一のフォルダ名、ファイルではなく、名前を変更されていることが表示されます-whatifなし
をコードを起動した場合
は今、私はかなり確信して私が何かを見逃しているが、私は、この言語には本当に慣れていないよので、私は解決策を見つけるのに苦労しています。私はPowershell v1.0を使用しています
ありがとうございました。
ベスト
フォルダの名前が変更されると、その名前の下にフォルダが存在しないため、フォルダ内のファイルパスが間違っている可能性があります。 '.. -Recurse | where-object {-not $ _。PsIsContainer} 'をフィルタリングすることでファイルの名前を変更してみてください。名前変更 - 項目..'それをやり直してフォルダの名前を変更してください。 – TessellatingHeckler
ありがとう、それは魅力のように働いた! – Rhiz