从批处理脚本获取父目录的父级

时间:2014-07-16 09:20:32

标签: windows batch-file

我的脚本位于:C:\A\B\test.bat

在脚本中,我按命令获取脚本的父目录:parent_dir=~dp0 =>我得到了:C:\A\B

那么如何获得父目录的父级:C:\A并设置为变量

3 个答案:

答案 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