私はRename-Item
にパイプGet-ChildItem
を使用してファイルのリストを選択し、「名前を変更oldfilename newfilename へ」のようなものを示す各ラインと出力表示テキストを持っているしたいと思います。PowerShellでは、Rename-Itemを使用して古いファイル名と新しいファイル名を同時に出力するにはどうすればよいですか?
どうすればいいですか?
私はRename-Item
にパイプGet-ChildItem
を使用してファイルのリストを選択し、「名前を変更oldfilename newfilename へ」のようなものを示す各ラインと出力表示テキストを持っているしたいと思います。PowerShellでは、Rename-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)
}
これは非常に読みやすいと私に訴えます。 –
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
と同じに行いますが、また、操作を行っ:)
ありがとうございます - 可能であれば、出力に良い書式設定をしたいと思います。冗長でwhat-ifの仕事ですが、出力はあまり読みにくくありません。私はこの1つを高く評価します。 –
あなたはこのようにそれを行うことができます。
gci . | %{ rename-item -Path $_.fullname -NewName ($_.name + 1); Write-Host "Renamed $($_.fullname) to $($_.name + 1)"}
私はPowerShellの盲のビットので、私は低迷しています少し。私はTee-Objectと - outvariableと-passthruで遊んだが、正直言って私がやっていることは本当にわからないし、これはやりやすいことだと感じている。 –