Как я могу получить имя сценария Windows .bat из самого сценария?

У меня есть файл.bat. Я хочу программно получить имя файла.bat. Как я могу это сделать?

Это моя конечная цель

"..\lib\nant\nant.exe" -buildfile:nant.build {{pass in name of this file here}}
pause

2 ответа

Решение

Пытаться for /? в командной строке. Справка показывает все виды полезных замен имени файла, такие как:

%~I         - expands %I removing any surrounding quotes (")
%~fI        - expands %I to a fully qualified path name
%~dI        - expands %I to a drive letter only
%~pI        - expands %I to a path only
%~nI        - expands %I to a file name only
%~xI        - expands %I to a file extension only

Замените I на 0, чтобы получить только имя пакетного файла, и замените I на 1, 2, 3 и т. Д., Чтобы получить имена аргументов.

Переменная%0% предоставит вам полный путь к пакетному файлу, включая его имя. Там может быть лучший способ получить только имя.

Другие вопросы по тегам