Это работает, когда файл вызывается из той же директории, где он находится:
@ECHO OFF
set _MyCurrentPath=%CD%
pushd ..
set _Level1UpDir=%CD%
ECHO _Level1UpDir: %_Level1UpDir%
pushd ..
set _Level2UpDir=%CD%
ECHO _Level2UpDir: %_Level2UpDir%
pushd ..
set _Level3UpDir=%CD%
ECHO _Level3UpDir: %_Level3UpDir%
PAUSE
Но как повысить n-й уровень только с% 0 ... потребовался бы какой-нибудь необычный вызов с / f %% в
Моя стратегия состояла в том, чтобы посчитать количество обратных слэшей и цикл в секунду следующим образом:
SET count = 1
FOR / f "токены = 1-4 delims =." %% G IN ('echo% 0') DO (вызов: подпрограмма "%% G")
GOTO: eof
:subroutine
echo %count%:%1
set /a count+=1
pause
GOTO :eof