CMD Q: Я хочу удалить расширение имени файла.
Это на самом деле полный путь, например C: /Me/My/Path/filename.xxxx
я знаю, что расширение имеет 4 символа, как показано в примере выше.
Как мне избавиться от расширения?
Спасибо.
В терминале:
set file=C:/Me/My/Path/filename.1234 for /F "tokens=*" %A IN ("%file%") DO @echo variable ^%file^%: %~dpnA
В пакетном файле:
@echo off set file=C:/Me/My/Path/filename.1234 echo If called with path as batch parameter: %~dpn1 for /F "tokens=*" %%A IN ("%file%") DO echo variable %%file%%: %%~dpnA
ren C:/Me/My/Path/filename.xxxx filename.
это должно сделать это ("." В конце важно)
Это делает трюк:
@echo off set fullpath= C:/Me/My/Path/filename.xxxx set withoutext=%fullpath:~0,-5% echo %withoutext%
Результат:
c:\>test C:/Me/My/Path/filename
В этом примере сценария последние 5 символов удаляются из переменной% fullpath%.
Синтаксис объясняется здесь: http://www.computerhope.com/forum/index.php?topic=78901.0
В случаях, когда длина расширения неизвестна, это не сработает.