Мне нужно получить имя папки исполняемого в данный момент пакетного файла. Я пытался перебрать текущий каталог, используя следующий синтаксис (который в настоящее время неверен):
set mydir = %~p0
for /F "delims=\" %i IN (%mydir%) DO @echo %i
Пара проблем в том, что я не могу передать значение переменной mydir в качестве строки поиска. Кажется, это работает, только если я передаю команды; У меня неправильный синтаксис, и я не могу понять, почему.
Я думал, что нужно зациклить строку папки с разделителем '\', но это тоже вызывает проблемы. Если я установлю переменную в каждом цикле, то последним установленным значением будет имя текущей папки. Например, учитывая следующий путь:
C:\Папка1\Папка2\Папка3\Архив.bat
Я бы ожидал разобрать значение «Папка3».
Мне нужно разобрать это значение, так как его имя будет частью другой папки, которую я собираюсь создать дальше в пакетном файле.
Большое спасибо, если кто-то может помочь. Я могу полностью лаять не на то дерево, поэтому любые другие подходы также будут хорошо приняты.