Можно ли пакетно переименовать серию файлов и сохранить оригинальные расширения в последовательности?

Например, если у вас были файлы в каталоге:

dogfile1.jpg, wolffile493.png, and dogfile59.jpg

и хотел переименовать их в dog1.jpg, dog2.png, dog3.jpg

Я видел, что вы можете использовать это для пакетного переименования, но оно переименовывает его в расширение, которое вы выбрали (например, JPG):

$nr=1 
Dir | %{Rename-Item $_ -NewName (‘NewFile{0}.jpg’ -f $nr++)}

1 ответ1

1

Ну вот:

PS C:\tmp\y> $nr=1; Dir | %{Rename-Item $_ -NewName (‘NewFile{0}{1}’ -f $nr++, $_.extension)}

Вот быстрая демонстрация:

PS C:\tmp\y> echo "123" > firstfile.txt
PS C:\tmp\y> echo "abc" > secondfile.jpg
PS C:\tmp\y> dir -Name
firstfile.txt
secondfile.jpg
PS C:\tmp\y> $nr=1; Dir | %{Rename-Item $_ -NewName (‘NewFile{0}{1}’ -f $nr++, $_.extension)}
PS C:\tmp\y> dir -Name
NewFile1.txt
NewFile2.jpg
PS C:\tmp\y> type *
123
abc
PS C:\tmp\y>

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .