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