Что ж, чтобы просто получить имя файла вашего пакета, самым простым способом было бы просто использовать %~n0.
@echo %~n0
выведет имя (без расширения) текущего запущенного командного файла (если он не выполняется в подпрограмме, вызываемой call). Полный список таких «специальных» замен для имен путей можно найти с помощью help for в самом конце справки:
Кроме того, улучшена подстановка ссылок на переменные 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
%~sI - expanded path contains short names only
%~aI - expands %I to file attributes of file
%~tI - expands %I to date/time of file
%~zI - expands %I to size of file
%~$PATH:I - searches the directories listed in the PATH
environment variable and expands %I to the
fully qualified name of the first one found.
If the environment variable name is not
defined or the file is not found by the
search, then this modifier expands to the
empty string
Модификаторы можно комбинировать для получения сложных результатов:
%~dpI - expands %I to a drive letter and path only
%~nxI - expands %I to a file name and extension only
%~fsI - expands %I to a full path name with short names only
Однако, чтобы точно ответить на ваш вопрос: Подстроки выполняются с использованием нотации :~start,length:
%var:~10,5%
извлечет 5 символов из позиции 10 в переменной окружения %var%.
ПРИМЕЧАНИЕ. Индекс строк отсчитывается от нуля, поэтому первый символ находится в позиции 0, второй - в позиции 1 и т. д.
Чтобы получить подстроки переменных аргументов, таких как %0, %1 и т. Д., Вы должны сначала назначить их обычной переменной среды, используя set:
:: Does not work:
@echo %1:~10,5
:: Assign argument to local variable first:
set var=%1
@echo %var:~10,5%
Синтаксис еще более мощный:
%var:~-7% извлекает последние 7 символов из %var%
%var:~0,-4% извлечет все символы, кроме последних четырех, что также избавит вас от расширения файла (при условии, что три символа после точки [.]).
См. help set для получения подробной информации об этом синтаксисе.
person
Joey
schedule
11.03.2009