Добавлять имена файлов в начало оболочки

Добавлять имена файлов в начало оболочки

У меня в папке есть 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-файлы.

Связанный контент