我们知道echo%cd%命令打印工作目录,假设它是“C:\ test \ bin \ run”我想知道如何从字符串中删除“run”。第二次“运行”目录可以是“停止”目录。因此我们不能使用string replace命令。我认为要做的是在最后一个“\”之后删除字符串。任何人都知道如何在Windows 命令行(cmd)
中执行此操作答案 0 :(得分:1)
如果可以在此过程中更改dirs,那该怎么样:
set x=%cd%
cd ..
set parent=%cd%
cd %x%
答案 1 :(得分:0)
在命令行中可行:
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替换为%%,它也可以在批处理文件中使用,如下所示:
FOR /F "tokens=3 delims=\" %%A IN ('echo %CD%') DO SET FOLDER=%%A
基于此,您可以构建一个重复的循环,直到FOLDER为空字符串。 在循环中,您需要在每个步骤将FOLDER分配给LASTFOLDER。 循环完成后,LASTFOLDER包含当前目录的文件夹。 您还可以将代码放入单独的脚本“GetBaseFolder.BAT”并使用 “主批处理中调用GetBaseFolder%CD%”。