重命名除PowerShell中的一个以外的所有png文件

时间:2019-04-10 09:05:35

标签: powershell

除了一个文件外,我想重命名所有的png文件。例如,除一个名为DontChangeMyName.png

以外的所有png文件

到目前为止,我拥有以下行代码,除了可以重命名所有png之外,它的工作方式与我想要的差不多,并且我想将其排除在重命名DontChangeMyName.png

之外
Dir -filter *.png| %{Rename-Item $_ -NewName ("Picture{0}.png" -f $nr++)}

2 个答案:

答案 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