从cmd中的变量解析路径

时间:2014-03-18 15:10:13

标签: windows string parsing path cmd

我需要编写一个cmd脚本,它从注册表中获取路径变量,并在某些级别返回该路径。到目前为止,我已经设法从注册表中读取字符串,现在我只需要将其转为:

C:\ DIR \ WASD \ QWERT \ someotherdir

进入这个:

C:\ DIR \ WASD \ QWERT \

我被困住了。帮助非常渺茫。 谢谢!

2 个答案:

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