Переименование нескольких файлов в пакетном файле Dos
Я хочу переименовать все файлы в папке *.txt, поэтому результатом будут "1.txt", "2.txt" и "3.txt", ....
Как я могу это сделать?
3 ответа
Следующее может выполнить то, что вы ищете. Он использует for
цикл для перебора текстовых файлов и "вызов" другого бита пакетного файла для переименования и приращения переменной.
Изменить Изменить математическую операцию на более чистое решение, предложенное Андреем.
@echo off
set i=1
for %%f in (*.txt) do call :renameit "%%f"
goto done
:renameit
ren %1 %i%.txt
set /A i+=1
:done
Я хочу переименовать все файлы в папке *.txt, поэтому результатом будут "1.txt", "2.txt" и "3.txt", ....
Как я могу это сделать?
::Setup the stage...
SETLOCAL ENABLEDELAYEDEXPANSION
SET folder=C:\This\Is\The\Folder
SET count=1
::Action
CD "%folder%"
FOR %%F IN ("*.txt") DO (
MOVE "%%F" "!count!.txt"
SET /a count=!count!+1
)
ENDLOCAL
стенография
SETLOCAL ENABLEDELAYEDEXPANSION
SET count=1
FOR %%F IN (C:\Path\To\File\*.txt) DO MOVE "%%~fF" "%%~dpF!count!.txt" & SET /a count=!count!+1
ENDLOCAL
Таким образом, если ваша папка содержит cat.txt, dog.txt, bird.txt, ninjaturtle.txt, она выведет 1.txt, 2.txt, 3.txt, 4.txt.
Сначала составьте список каталогов:
dir /b *.txt > myfile.cmd
Затем запустите UltraEdit ( http://www.ultraedit.com/) и откройте файл.
Затем перейдите в режим столбцов, выберите все строки и:
- вставьте "RENAME " в начале каждой строки
- вставьте ".TXT" в конце каждой строки (не забывайте указывать достаточно далеко, если у вас очень длинные строки)
- вставить номер (см. Столбец / Вставить номер в меню) прямо перед.TXT