我需要编写一个cmd脚本,它从注册表中获取路径变量,并在某些级别返回该路径。到目前为止,我已经设法从注册表中读取字符串,现在我只需要将其转为:
C:\ DIR \ WASD \ QWERT \ someotherdir
进入这个:
C:\ DIR \ WASD \ QWERT \
我被困住了。帮助非常渺茫。 谢谢!
答案 0 :(得分:1)
您可以对路径进行子字符串以从中删除someotherdir:
path = "C:\dir\wasd\qwert\someotherdir";
newPath = path.substr(0, path.LastIndexOf("someotherdir"));
LastIndexOf将返回字符串路径中的索引,其中" someotherdir"找到了。那样子字符串将在0(字符串的开头)和" someotherdir"
的索引之间运行希望这有帮助!
答案 1 :(得分:1)
rem The data retrieved from somewhere
set "dir=C:\dir\wasd\qwert\someotherdir"
rem Get the parent folder
for %%a in ("%dir%") do set "dir=%%~dpa"
rem Remove the tailing backslash
set "dir=%dir:~0,-1%"
echo %dir%