Предположим, что Вы имеете C:\foo\foo.bat
который должен относиться к C:\foo\foo.txt
. Это может быть выполнено из другого каталога, но должно добраться foo.txt
из его собственного каталога, не текущего каталога. Очевидно, это могло быть сделано путем помещения полного пути C:\foo\foo.txt
в foo.bat
.
Скручивание, не известно во время записи пакетного файла, где это закончит тем, что находилось на машине пользователя, поэтому что на самом деле должен сделать пакетный файл, получают foo.txt из каталога, где я живу, везде, где это, оказывается, находится. (В программе C я использовал бы argv[0]
но это, кажется, не работает с пакетными файлами.)
Существует ли способ сделать это?
%~dp0
Даст Вам полный путь сценарию.
%~f0
Даст Вам полный путь сценарию, включая название сценария.