Рубрики
cmd \ vbs \ scripts

cmd Что означает% ~ dp0 и как оно работает?

Ссылка:

http://qaru.site/questions/12098/what-does-dp0-mean-and-how-does-it-work
https://www.robvanderwoude.com/parameters.php
https://en.wikibooks.org/wiki/Windows_Batch_Scripting#Percent_tilde%23Percent_tilde
http://windowsjoe.blogspot.com/2008/11/mastering-windows-batch-files.html

Справка:

for /?

Полезное:

%CmdCmdLine% вернет всю командную строку, переданную в CMD.EXE
%* вернет остальную часть командной строки, начиная с первого аргумента командной строки (в Windows NT 4,% * также включает все ведущие пробелы)
%~dn вернет букву диска% n (n может варьироваться от 0 до 9), если% n - допустимый путь или имя файла (без UNC)
%~pn вернет каталог% n, если% n - допустимый путь или имя файла (без UNC)
%~nn вернет имя файла только% n, если% n является допустимым именем файла
%~xn вернет расширение файла только% n, если% n является допустимым именем файла
%~fn вернет полный путь% n, если% n является допустимым именем или каталогом файла

~ тильда:

Строка %~ называется оператором процента тильды. Вы можете найти его в таких ситуациях, как: %~0.

Строка :~ называется оператором colon tilde. Вы можете найти его как %SOME_VAR:~0,-1%.

%1-%9 относятся к командной строке args. 

Если они не являются допустимыми значениями пути, то %~dp1 - %~dp9 будет расширяться до того же значения, что и %~dp0. 

Но если они являются допустимыми значениями пути, они будут расширяться до собственного значения драйвера/пути.