2015-05-03 6 views
0

У меня есть файлы с разными именами.переименовать несколько файлов в командной строке

Leviathan.txt, Dragon.txt и так далее

Я хотел превратить его в разряд начинается

1.txt, 2.txt, 3.txt, 4 .txt и т. д.

Как выполнить, как и на другом языке, с помощью функции For и функции, которая может передавать количество файлов в папке?

мой код до сих пор я знаю, это dir и ren. и я застрял сейчас.

ren *.txt 1.txt 

ответ

0

Следующий фрагмент кода может работать для вас (за исключением с .bat расширением); обратите внимание, что rename команды вторят только для целей отладки:

@echo off 
SETLOCAL enableextensions enabledelayedexpansion 
set /A "ii=0" 
pushd "working_directory_here" 
for /F "delims=" %%G in ('dir /B /ON "*.txt" 2^>NUL') do (
    set /A "ii+=1" 
    echo ren "%%~G" "!ii!%%~nxG" 
) 
popd 

Если вы настаиваете на однострочник (запуск в рабочем каталоге):

cmd /E:ON /V:ON /K (@echo off^&set /A "ii=0" ^>NUL^&for /F "delims=" %G in ('dir /B /ON "*.txt" 2^^^>NUL') do (set /A "ii+=1" ^>nul^&echo ren "%~G" "!ii!%~nxG"))^&exit 

Ресурсы (обязательное чтение):

0

Предполагая, что ни один из существующих файлов уже названы что-то вроде n.txt, где n - число, затем просто CD в вашу папку и выполните следующую команду из командной строки:

for "tokens=1* delims=:" %A in ('dir /b *.txt^|findstr /n "^"') do @ren "%B" "%A.txt" 

Двойной процент процентов, если вы используете команду в пакетном скрипте.

EDIT

я забыл о моих JREN.BAT utility - переименовывают полезности регулярных выражений. Это чистый скрипт (гибридный JScript/пакет), который запускается изначально на любом компьютере Windows с XP.

JREN имеет встроенную возможность включать число в каждое новое имя файла и в качестве дополнительного бонуса, он может оставить пэд число с нулями, чтобы команда DIR перечисляла файлы в порядке чисел. Ширина по умолчанию - 3 цифры, поэтому файлы будут выглядеть как «001.txt», «002.txt», ... «010.txt», ... «100.txt» и т. Д.

jren "^.*" "$n+'.txt'" /j /fm *.txt 

Опция/NPAD определяет минимальную ширину числовой, так NTAB-не производит отступов, что и исходный вопрос просил.

jren "^.*" "$n+'.txt'" /j /fm *.txt /npad 1 

Поскольку JREN является сама партия сценария, вы должны использовать CALL, JREN если поместить команду в другом пакетном сценарии.

Полная документация доступна в командной строке через jren /? | more. Мое консольное окно сконфигурировано с большим буфером, поэтому я могу прокрутить назад, чтобы увидеть предыдущий вывод, и я не беспокоюсь о том, чтобы с помощью MORE вы могли обратиться к помощи.

Смежные вопросы