9

Get-ChildItempiped toを使用してファイルのリストを選択し、各行に "Renamed oldfilename to newfilenameRename-Item "のようなテキストを出力表示したいと思います。

これどうやってするの?

4

4 に答える 4

11
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)
        }
于 2012-09-06T15:17:44.750 に答える
9

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ですが、操作も実行します:)

于 2012-09-06T09:52:35.310 に答える
4

次のように実行できます。

gci . | %{ rename-item -Path $_.fullname -NewName ($_.name + 1); Write-Host "Renamed $($_.fullname) to $($_.name + 1)"}
于 2012-09-06T10:05:34.743 に答える