Избавление от расширений в переменных (CMD) - PullRequest
1 голос
/ 14 декабря 2009

CMD Q: Я хочу удалить расширение имени файла.

Это на самом деле полный путь, например C: /Me/My/Path/filename.xxxx

я знаю, что расширение имеет 4 символа, как показано в примере выше.

Как мне избавиться от расширения?

Спасибо.

Ответы [ 3 ]

3 голосов
/ 14 декабря 2009

В терминале:

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
1 голос
/ 02 июля 2013
ren C:/Me/My/Path/filename.xxxx filename.

это должно сделать это ("." В конце важно)

1 голос
/ 27 июля 2012

Это делает трюк:

@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

В случаях, когда длина расширения неизвестна, это не сработает.

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