批处理 FOR /D /r 输出父目录

问题描述

我有以下批处理脚本;

CD /d %searchFolder%
FOR /D /r %%G in ("?earch") DO Echo We found %%G

这将返回我正在搜索文件夹。虽然我想知道父目录路径,而不是文件夹本身的路径。 我正在考虑用能解决问题的东西替换 %%G。

使用 %GG 输出

C:\Drive\folderToBeSearched\Search

我想要的结果:

C:\Drive\folderToBeSearched

解决方法

这确实奏效了,使用 %%~dpG 也有后退,所以我也不得不将其删除。

CD /d %searchFolder%
FOR /D /r %%G in ("?earch") DO set dir=%%~dpG

set dir=%dir:~0,-1%