除了一个文件外,我想重命名所有的png文件。例如,除一个名为DontChangeMyName.png
到目前为止,我拥有以下行代码,除了可以重命名所有png之外,它的工作方式与我想要的差不多,并且我想将其排除在重命名DontChangeMyName.png
Dir -filter *.png| %{Rename-Item $_ -NewName ("Picture{0}.png" -f $nr++)}
答案 0 :(得分:0)
您可以使用以下代码来满足您的要求。
Dir -filter *.png|% -Process{if($_.Name -ne "DontChangeMyName.png"){Rename-Item $_ -NewName ("Picture{0}.png" -f $nr++)}}
希望这会有所帮助!
答案 1 :(得分:0)
Rename-Item
接受管道输入-更多 PowerShellish 是:
Get-Childitem -Filter *.png |
Where-Object Name -ne DontChangeMyName.png |
Rename-Item -NewName {("Picture{0}.png" -f $script:nr++)} -WhatIf
如果输出看起来正常,请删除结尾的-WhatIf
或使用gci的-Exclude
参数
Get-Childitem -Filter *.png -Exclude 'DontChangeMyName.png' |
Rename-Item -NewName {("Picture{0}.png" -f $script:nr++)} -WhatIf