Вот способ сделать это с помощью TCC от JP Software, интерпретатора команд, чья команда REN
поддерживает регулярные выражения:
ren ::(.*) ::\1.txt
Без регулярных выражений это все еще одна строка. TCC поддерживает тот же синтаксис FOR
что и Microsoft cmd
, поэтому можно использовать однострочную строку FOR
из ответа Multiverse IT
.
Кстати, со всеми ответами командной строки, обратите внимание, что важно, чтобы сканирование каталога предшествовало любым операциям переименования, если это возможно. Вы не были достаточно конкретны в своем вопросе об исходных именах файлов, поэтому в наших ответах мы должны были предположить, что каждый файл должен быть обработан. Поэтому подстановочные знаки поиска будут совпадать и с результирующими именами файлов, в результате чего файлы могут быть переименованы несколько раз, если не соблюдать осторожность.
Если бы кто-то знал, что исходные имена файлов содержат только одну точку, скажем, тогда можно было бы создать более ограничительный шаблон поиска, который не совпадал бы с результирующими именами файлов, которые имеют две точки. Используя форму нерегулярного выражения команды ren
TCC это будет:
ren *.*. *.*.txt
Точка в подстановочном знаке поиска важна. (.
на самом деле метасимвол в подстановочных знаках поиска, хотя очень немногие документируют это. Это соответствует либо .
или конец имени.) Он совпадает с концами имен и не позволяет предыдущему *
сопоставить точку.
дальнейшее чтение
- JP Software. РЕН. Возьмите Command / TCC Help.
- JP Software. ЗА Возьмите Command / TCC Help.