Как правильно npocmaka предполагает, выбрать другую переменную из %PATH%
(или any of these other environment variables). Во-вторых, убедитесь, что ваш скрипт использует setlocal
, чтобы избежать нежелательной загрузки среды вашего консольного сеанса с переменными в этом скрипте. В-третьих, просто добавьте \..
для каждого предка, которого вы хотите перемещать. Не нужно беспокоиться о манипуляциях с подстрокой.
@echo off
setlocal
set "dir=C:\SecondParent\FirstParent\testfile.ini"
for %%I in ("%dir%\..\..") do set "grandparent=%%~fI"
echo %grandparent%
Будет ли% ~ dppath% работать? Я знаю, что это работает для нумерованных аргументов (% ~ dp1). –