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

时间:2011-05-15 19:06:17

标签: windows command-line windows-xp cmd windows-console

我们知道echo%cd%命令打印工作目录,假设它是“C:\ test \ bin \ run”我想知道如何从字符串中删除“run”。第二次“运行”目录可以是“停止”目录。因此我们不能使用string replace命令。我认为要做的是在最后一个“\”之后删除字符串。任何人都知道如何在Windows 命令行(cmd)

中执行此操作

2 个答案:

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