Возможные дублирующиеся вопросы технически неверны. Операция пакетного переименования файлов в пакетном файле DOS - это не тот вопрос, который задан. Вопрос заключается в том, как использовать DOS для удаления второго расширения из имени файла.
Например file.jpg.new
должен быть переименован в file.jpg
, который ответил на этот вопрос batch file to find files with double file extensions and remove the last one
Ответ становится
@ECHO OFF
SETLOCAL
SET sourcedir=c:\test4
FOR /r "%sourcedir%" %%i IN (*.*) DO (
FOR %%n IN ("%%~ni") DO IF NOT "%%~xn"=="" IF NOT EXIST "%%~dpni" ECHO REN "%%~fi" "%%~ni"
FOR %%n IN ("%%~ni") DO IF NOT "%%~xn"=="" IF EXIST "%%~dpni" ECHO CAN NOT REN "%%~fi" "%%~ni"
)
GOTO :EOF
Таким образом, мой входной файл SearchIR.yes.new
и сценарий выводит REN "c:\test4\SearchIR.yes.new" "SearchIR.yes"
Возможный дубликат [Как создать пакетный файл для переименования большого количества файлов в папке?] (Http://stackoverflow.com/questions/3808001/how-do-i-create-batch-file-to -rename-large-number-of-files-in-a-folder) –
* .out.bmp - это то же самое, что и * .bmp. Оба они заканчиваются на .bmp. – Jonathan
Посмотрите на замену строк. Кроме того, есть программное обеспечение, которое отлично справляется с переименованием пакетов. В частности, для изображений, irfanview.com находится в верхней части моего списка. Пакетное преобразование изображений и переименование. См. Http://stackoverflow.com/questions/17271586/rename-multiple-files-in-cmd – user4317867