Вот код
FOR /R C:\your_folder %%d IN (*.txt) DO (
ren %%d %%~nd.txt_mvd
)
%%d — это полное имя файла + путь
%%~nd возвращает только имя файла без расширения
Используя параметр /R, он будет сканировать папку и подпапку
ОБНОВЛЕНИЕ 1
Следующий код должен работать должным образом.
Я добавил IF, который игнорирует вложенные папки.
FOR /R E:\your_folder\ %%d IN (*.*) DO (
IF %%~dpd==E:\your_folder\ (
ren %%d %%~nd.txt_mvd
)
)
ОБНОВЛЕНИЕ 2
Фиксированный код
FOR /R E:\your_folder\ %%d IN (*.txt) DO (
IF %%~dpd==E:\your_folder\ (
ren %%d %%~nd.txt_mvd
)
)
ОБНОВЛЕНИЕ 3
Вот более обобщенная и параметризованная версия скрипта.
Измените начальный параметр по своему усмотрению (первые 4 строки кода).
Сначала переименуйте этот скрипт выбранные вами файлы (1-й параметр) в исходной папке (3-й параметр), измените расширение на новое (2-й параметр), а затем переместите переименованные файлы в выбранную вами папку (4-й параметр).
set Extension_of_file_you_want_to_renamne_and_move=txt
set New_extension_of_moved_files=txt_mvd
set Folder_that_contain_your_files=C:\Your_starting_folder\
set Folder_where_to_move_your_files=C:\Your_destnation_folder\
FOR /R %Folder_that_contain_your_files% %%d IN (*.%Extension_of_file_you_want_to_renamne_and_move%) DO (
IF %%~dpd==%Folder_that_contain_your_files% (
IF %%~xd==.%Extension_of_file_you_want_to_renamne_and_move% (
ren "%%~d" "%%~nd.%New_extension_of_moved_files%"
move "%%~dpnd.%New_extension_of_moved_files%" "%Folder_where_to_move_your_files%"
)
)
)
при изменении параметра НЕ добавляйте пробел.
Поэтому НЕ изменяйте параметр следующим образом:
set Folder_that_contain_your_files = c:\myFolder <--- WRONG, WON'T WORK, there are unneeded space
вместо этого напишите параметр БЕЗ лишнего пробела:
set Folder_that_contain_your_files=c:\myFolder <--- OK, THIS WILL WORK, there are no extra spaces
ОБНОВЛЕНИЕ 4
Исправлен код, я добавил несколько кавычек, без них код не будет работать, если имя папки содержит пробелы.
set Extension_of_file_you_want_to_renamne_and_move=txt
set New_extension_of_moved_files=txt_mvd
set Folder_that_contain_your_files=C:\Your_starting_folder\
set Folder_where_to_move_your_files=C:\Your_destnation_folder\
FOR /R "%Folder_that_contain_your_files%" %%d IN (*.%Extension_of_file_you_want_to_renamne_and_move%) DO (
IF "%%~dpd"=="%Folder_that_contain_your_files%" (
IF %%~xd==.%Extension_of_file_you_want_to_renamne_and_move% (
ren "%%~d" "%%~nd.%New_extension_of_moved_files%"
move "%%~dpnd.%New_extension_of_moved_files%" "%Folder_where_to_move_your_files%"
)
)
)
person
Max
schedule
03.02.2012