7

У меня есть папка, содержащая несколько файлов с именами, такими как:

pnahc.d_m05d17h09m30

Я хочу разместить расширение в конце имени файла, чтобы новое имя файла выглядело так:

pnahc.d_m05d17h09m30.txt

Я пытался использовать ren *. *.txt , но это не сработало. Как я могу это сделать?

5 ответов5

13

Согласно этой странице вы можете попробовать запустить эти команды в powershell (найдите их в меню «Пуск» Windows):

cd "\path\to\dir"
Dir | rename-item -newname  { $_.Name +".jpg" }
3

Bulkrename может сделать это, сначала "удалить" расширение, нажать "переименовать", затем нажать "сброс", а затем добавить нужное, используя функцию "extra". Вы можете сделать это для нескольких файлов в одной папке.

,

,

1

Единственная команда командной строки сделает свое дело:

for /f "tokens=*" %a in ('dir /b') do @ren "%a" "%a.txt"

Просто перейдите в папку с файлами.

0

Можно сделать это легко с PowerShell.

Get-ChildItem -Path C:\Directory | ? {!$_.PSIsContainer} | % {Rename-Item -LiteralPath $_.Name -NewName ($_.Name + ".txt")}`
0

Вот способ сделать это с помощью 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.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .