Как удалить ненужные точки в имени файла в пакетном скрипте Windows, например:
a.b.c.txt to a.txt
Информация, содержащаяся в ссылке SS64, которую опубликовал Чарли Уилсон, появилась из моего сообщения SU: как команда Windows RENAME интерпретирует подстановочные знаки? , К сожалению, нет простого синтаксиса REN, который может делать то, что вы хотите.
Вам придется прибегнуть хотя бы к одной петле FOR. Вот одно решение, которое работает из командной строки, если ни одно из имен ваших файлов не начинается с .
,
for %a in (*) do @for /f "eol=. delims=." %b in ("%a") do @ren "%a" "%b%~xa"
Вы можете защитить имена, которые начинаются с .
используя следующую более сложную версию:
for /f "eol=: delims=" %a in ('dir /b /a-d *^|findstr /blv .') do @for /f "eol=. delims=." %b in ("%a") do @ren "%a" "%b%~xa"
Вы можете запустить любую из вышеперечисленных команд из командного файла, изменив все %
на %%
Команда ren. Существует очень подробное объяснение использования этой команды с подстановочными знаками по ссылке ниже.