Рубрики
cmd \ vbs \ scripts

Как переименовать файлы по маске из пакетного файла

Первый вариант:


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"