Как изменить расширения существующих файлов одновременно

536
Faye

Есть ли способ изменить расширения существующих файлов (внутри папки) одновременно?

У меня есть папка и внутри находятся разные подпапки (вложенные). Все файлы .txt, и я хочу изменить их все на .md.

Есть ли способ изменить их одновременно или мне действительно нужно изменить их один за другим? :-(

Спасибо Фэй

Дополнительный вопрос:

@ user1016274: Спасибо. Кстати, он также будет работать с файлами без расширений? Я еще не пробовал, но только сейчас обнаружил, что в некоторых папках есть файлы без расширения. Пожалуйста, смотрите изображение, которое я добавил (выше), пожалуйста, смотрите его. Благодарю.

Как изменить расширения существующих файлов одновременно

1
Запустите `cmd`, перейдите в каталог, где находятся файлы, и введите` ren * .txt * .md`. AFH 6 лет назад 0
@AFH: Спасибо за ответ, но это решение не будет хорошим в моем случае, потому что у меня есть несколько глубоко вложенных структур папок. Это означало бы, что я должен делать это в каждой отдельной папке, каждой подпапке, каждой папке во всех подпапках и т. Д. Есть ли какое-либо другое решение? Спасибо, Фэй .. Faye 6 лет назад 0
Если бы я был у моего компьютера, когда вы ответили, я бы дал вам ответ [user1016274] (https://superuser.com/users/438316/user1016274). Обратите внимание, что `ren` и` rename` являются синонимами. AFH 6 лет назад 0

1 ответ на вопрос

2
user1016274

Команда renameдопускает подстановочный знак:
rename *.txt *.mdпереименует все файлы за один вызов в текущем каталоге.

Теперь вам просто нужно пройти все каталоги вниз от корневого каталога. Для этого есть forкоманда:
cd /d <rootdir> & for /R %d in (.) do @echo %d

Собираем все вместе:

cd /d <rootdir> for /R %d in (.) do @rename "%d\*.txt" *.md 
Можете ли вы сделать это немного яснее для меня. Нужно ли вводить «как есть», и мне просто нужно изменить и поставьте мое имя каталога, т.е. ? Спасибо Фэй Faye 6 лет назад 0
Да, точно. Чтобы быть в безопасности, вы можете выполнить тестовый запуск с помощью `do @dir / b% d \ *. Txt`. Вы увидите сообщение об ошибке для каждого каталога, который не содержит никакого файла .txt. user1016274 6 лет назад 0
Спасибо, я поэкспериментирую с этим позже дома и отмечу это как правильный ответ, если я правильно понял. Благодарю. Faye 6 лет назад 0
Обратите внимание: я добавил кавычки, чтобы позаботиться о каталогах, содержащих пробелы в их именах. И, во-вторых, синтаксис правильный для запуска команды из командной строки, а не внутри пакетного файла. В пакетном файле вам нужно удваивать каждый символ «%». user1016274 6 лет назад 0
Благодарю. Кстати, он также будет работать с файлами без расширений? Я еще не пробовал, но только сейчас обнаружил, что в некоторых папках есть файлы без расширения. Пожалуйста, смотрите изображение, которое я добавил (выше), пожалуйста, смотрите его. Благодарю. Это также текстовые файлы (книжные истории), я могу просматривать их и редактировать в VS-Code, но они не имеют расширений. Faye 6 лет назад 0
Да, если вы не укажете расширение, все файлы будут переименованы: `rename"% d \ * "* .md`. user1016274 6 лет назад 0

Похожие вопросы