У меня в папке есть 100 файлов .png, например test.png, example.png и т. д.
Я хочу добавить к ним префикс , New_
чтобы он был переименован в New_test.png
и New_example.png
т. д.
Как это сделать в оболочке?
решение1
Вы не указали операционную систему. Этот ответ предполагает 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-файлы.