我的脚本位于:C:\A\B\test.bat
在脚本中,我按命令获取脚本的父目录:parent_dir=~dp0
=>我得到了:C:\A\B
那么如何获得父目录的父级:C:\A
并设置为变量
答案 0 :(得分:4)
FOR %%a IN ("%parent:~0,-1%") DO SET grandparent=%%~dpa
回复评论的完整代码
@ECHO OFF
setlocal
SET parent=%~dp0
ECHO parent=%parent%
FOR %%a IN ("%parent:~0,-1%") DO SET grandparent=%%~dpa
ECHO grandparent=%grandparent%
答案 1 :(得分:2)
试试这个:
for %%B in (%~dp0\.) do set c=%%~dpB
答案 2 :(得分:1)
当应用Alireza的答案时,这是有效的。
@echo off
SET CurrentDirectory=%~dp0
echo %CurrentDirectory%
for %%B in (%CurrentDirectory%.) do set parent=%%~dpB
echo %parent%
for %%B in (%parent%.) do set grandparent=%%~dpB
echo %grandparent%
pause