Как переименовать файлы по маске из командной строки или bat-файла
- Bot
- 14.11.2020
- 11 976
- 0
- 3
- 2
- 1

- Содержание статьи
Описание
Иногда возникает необходимость переименовать все файлы в папке по шаблону (например все файлы *.txt или *.jpg) из пакетного файла или командной строки. Сделать это можно при помощи следующей команды в bat-файле:
for /f "tokens=*" %%a in ('dir /b PATH\*.*') do ren PATH\%%a Prefix%%a
В этой строке надо заменить PATH\ на путь к файлам, которые будут переименованы, а Prefix на те символы, которые будут добавлены к имени файла при переименовании.
Не помещайте пакетный файл в папку, где происходит переименование, иначе он будет переименован тоже. Если в папке, где происходит переименование файлов есть подпапки, то к имени подпапки также будет добавлен префикс, т.е. подпапки будут переименованы как и файлы.
Если указать определенную маску для типов файлов, которые подлежат переименованию, например, *.txt, а не *.* как в примере, то будут переименованы файлы только указанных типов. Другие файлы и папки переименовываться не будут.
Второй вариант:
set thePATH=C:\test
for %%I in (*.txt) do ren "%thePATH%\%%~nxI" "%%~nI.dat"
Добавить комментарий