У меня есть 100 .png файлов в папке, скажем test.png, example.png и т.д.

Я хочу добавить их к New_ чтобы они были переименованы в New_test.png , New_example.png и т.д.

Как я могу сделать это в оболочке.

1 ответ1

3

Вы не указали операционную систему. Этот ответ предполагает Windows.

Моей первой мыслью была простая команда, такая как

for %f in (*.png) do rename "%f" "New_%f"

Но файл с именем a.png был сначала переименован в New_a.png и перемещен в алфавитном порядке :-( Цикл переименовал этот файл во второй раз в New_New_a.png.

Следовательно, это необходимо сделать в два этапа:

dir /b *.png > png.txt
for /F %l in (png.txt) do rename "%l" "New_%l"
del png.txt

Первая строка создает текстовый файл, содержащий имена всех файлов PNG в текущем каталоге. Вторая строка анализирует каждую строку файла и переименовывает PNG.

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