Переименование всех файлов PNG, кроме одного в PowerShell - PullRequest
1 голос
/ 10 апреля 2019

Я бы хотел переименовать все мои png файлы, кроме одного. Например, все файлы PNG, кроме одного с именем DontChangeMyName.png

Пока у меня есть этот код строки, который работает почти так, как я хочу, за исключением того, что он переименовывает все png, и я хотел бы исключить его из переименования DontChangeMyName.png

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

Ответы [ 2 ]

0 голосов
/ 10 апреля 2019

Поскольку Rename-Item принимает ввод по каналу - больше PowerShellish равно:

Get-Childitem -Filter *.png | 
  Where-Object Name -ne DontChangeMyName.png |
    Rename-Item -NewName {("Picture{0}.png" -f $script:nr++)} -WhatIf

Если вывод выглядит нормально, удалите завершающий -WhatIf

Или используйте-Exclude параметр gci

1012 *
0 голосов
/ 10 апреля 2019

Вы можете использовать приведенный ниже код для выполнения вашего требования.

Dir -filter *.png|% -Process{if($_.Name -ne "DontChangeMyName.png"){Rename-Item $_ -NewName ("Picture{0}.png" -f $nr++)}}

Надеюсь, это поможет !!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...