Когда вы запускаете пакетный скрипт, перетаскивая на него другой файл, в качестве пути используется местоположение файла, перетаскиваемого на пакетный скрипт.
Как я могу сослаться на файл, который находится в той же папке, что и пакетный скрипт?
Когда вы запускаете пакетный скрипт, перетаскивая на него другой файл, в качестве пути используется местоположение файла, перетаскиваемого на пакетный скрипт.
Как я могу сослаться на файл, который находится в той же папке, что и пакетный скрипт?
Предполагается, что Windows cmd.exe
: "%~dp0\otherfile"
Здесь %0
ссылается на командный файл, ~
вызывает удаление любых кавычек из значения, dp
означает "букву диска и путь".
Смотрите for /?
для полного списка расширений. (К сожалению, они применяются только к пронумерованным аргументам командной строки и для однобуквенных переменных. Чтобы использовать такие расширения с переменными среды, такими как %myfile%
, вам нужно передать их в подпрограмму с помощью call :label
.)