Get-ChildItem
piped toを使用してファイルのリストを選択し、各行に "Renamed oldfilename to newfilenameRename-Item
"のようなテキストを出力表示したいと思います。
これどうやってするの?
Get-ChildItem
piped toを使用してファイルのリストを選択し、各行に "Renamed oldfilename to newfilenameRename-Item
"のようなテキストを出力表示したいと思います。
これどうやってするの?
Get-Childitem C:\Temp |
Foreach-object {
$OldName = $_.name;
$NewName = $_.name -replace 'temp','test';
Rename-Item -Newname $NewName;
Write-Output $("Renamed {0} to {1}" -f $OldName,$NewName)
}
1 つの簡単な解決策は、で実行rename-item
すること-WhatIf
です。これは次のようなものを表示します
PS H:\test> gci | rename-item -newname { $_.name -replace 'temp','test' } -WhatIf
What if: Performing operation "Rename File" on Target "Item: H:\test\temp1 Destination: H:\test\test1".
十分ですか、それとも操作を行いながらそれを行う必要がありますか?
EDIT:さらに簡単な解決策は、を使用します-Verbose
。と同じ-WhatIf
ですが、操作も実行します:)
次のように実行できます。
gci . | %{ rename-item -Path $_.fullname -NewName ($_.name + 1); Write-Host "Renamed $($_.fullname) to $($_.name + 1)"}