我正在尝试获取目录层次结构中一级文件夹的路径,并将其设置为变量。
现在我有:
set LOCALFOLDER=%project.root%\builds\%BUILDFOLDER%
其中%project.root%是项目目录的完整路径(在批处理字符串中?)。
我们只是说%project.root%
是"C:\Hardware\project"
。
我想向%project.root%
(即C:\Hardwre
)返回一级并将该路径存储在变量中。有办法吗?
答案 0 :(得分:4)
路径操作变得有点混乱。一种选择如下:
set "project.root=C:\Hardware\project"
set "X=%project.root%"
:l
if "%X:~-1%"=="\" goto al
set "X=%X:~0,-1%"
goto l
:al
set "X=%X:~0,-1%"
set "project.parent=%X%"
echo %project.parent%
在删除\
之前连续删除最后一个字符。
如果您正在处理文件系统中的实际路径,我会说您使用pushd
方法:
pushd %project.root%
cd ..
set project.parent=%CD%
popd
这会暂时设置当前目录,存储路径并返回。
答案 1 :(得分:-1)
这很简单:
要获取变量中的当前目录,只需说 设置/ VARIABLE = cd 回到一个级别说: cd ..
现在如果你说“set / a VARIABLE = cd”它被设置为上一个目录