Как удалить расширения файлов из большого количества файлов? - PullRequest
0 голосов
/ 24 февраля 2019

Я случайно поместил расширение png для некоторых файлов в папке в git.Как я могу отменить это действие?Есть ли для этого мерзавец?

Ответы [ 2 ]

0 голосов
/ 24 февраля 2019

Я бы использовал цикл for /R, где опция /R используется для просмотра всех подпапок.В этом случае он будет перебирать все подпапки, ища файлы с расширением, равным png:

@echo off

for /R "C:\folder\with\git" %%A IN (*.png) do ren "%%~fA" "%%~nA"

, или перебирая команду dir, которая будет искать во всех подпапках файлы с расширением * 1008.* (более безопасный, потому что исключены все каталоги с опцией /A-D):

@echo off

for /F "delims= eol=" %%A IN ('dir /S /B /A-D "C:\folder\with\git\*.png"') do ren "%%~fA" "%%~nA"

Также я хотел бы улучшить решение forfiles, опубликованное Иоганном выше, проверяя, является ли элемент файломи используя полный путь к нему:

@echo off

forfiles /P "C:\folder\with\git" /S /M *.png /C "cmd /c ren @fpath @fname"

Для получения дополнительной информации об используемых командах выполните следующие команды на новой консоли cmd.exe:

  • for /?
  • ren /?
  • forfiles /?
  • cmd /?
0 голосов
/ 24 февраля 2019
forfiles /S /M *.ext /C "cmd /c rename @file @fname" 

Найдено здесь .

Этот код рекурсивно переименовывает все файлы в папке и подпапке при использовании команды / S.Команда / M определяет маску поиска, чтобы найти нужный тип файла, который будет переименован./ C определяет, что следующий код должен выполняться для всех требуемых файлов в цикле.Более подробную информацию о типе параметров можно найти в документации Microsoft .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...