Если %1
будет содержать только имя файла (без пути):
echo %~n1
Если он может содержать путь:
echo %~dpn1
даст вам абсолютный путь.
Прекрасно, не правда ли! :-P [РЕДАКТИРОВАТЬ: Эти формы с удовольствием заключают в кавычки аргументы, разделяя их в процессе, как отмечает Йоханнес в комментарии.]
Для получения дополнительной информации: help for
. Правильно, соответствующая справка находится под командой FOR
. Что указывает на то, что этот синтаксис работает только с переменными цикла FOR
. Но на самом деле все работает нормально с %1
, %2
и т. Д. Что может заставить вас думать, что оно будет работать с любой переменной среды - но это не так.
Я люблю CMD.EXE
.