从echo%cd%命令中删除父目录名称

| 我们知道echo%cd%命令打印工作目录,假设它是\“ C:\\ test \\ bin \\ run \”,我想知道如何从字符串中删除\“ run \”。第二次\“ run \”目录可以是\“ stop \”目录。因此我们不能使用字符串替换命令。我想做的是删除最后一个\“ \\\”之后的字符串。任何人都知道如何在Windows命令行中执行此操作(cmd)     
已邀请:
如果可以在此过程中更改目录,该如何做:
set x=%cd%
cd ..
set parent=%cd%
cd %x%
    
在命令行中这有效:
C:\\dir\\folder>FOR /F \"tokens=3 delims=\\\" %A IN (\'echo %CD%\') DO SET FOLDER=%A
现在环境变量FOLDER包含值\“ folder \” 我使用了tokens = 3,因为文件夹是\\-delimiters之后的第三个令牌 如果您使用tokens = 2,则环境变量FOLDER包含值\“ dir \” 如果您使用tokens = 1,则环境变量FOLDER包含值\“ c:\” 如果您将%A替换为%% A,则它也应在批处理文件中工作,如下所示:
FOR /F \"tokens=3 delims=\\\" %%A IN (\'echo %CD%\') DO SET FOLDER=%%A
基于此,您可以构建一个循环,直到FOLDER为空字符串为止。 在循环中,您需要在每个步骤中将FOLDER分配给LASTFOLDER。 循环完成后,LASTFOLDER将包含您当前目录的文件夹。 您还可以将代码放入单独的脚本“ GetBaseFolder.BAT \”中并使用 \“在主批处理中调用GetBaseFolder%CD%\”。     

要回复问题请先登录注册