从 echo %cd% 命令中删除父目录名称
我们知道 echo %cd% 命令打印工作目录,假设它是“C:\test\bin\run” 我想知道如何从字符串中删除“run”。第二次“运行”目录可以是“停止”目录。因此我们不能使用字符串替换命令。我认为要做的是删除最后一个“\”后面的字符串。任何人都知道如何在 Windows 命令行(cmd) 中执行此操作
We know that echo %cd% command print working directory, Assume that it is "C:\test\bin\run" I want to know how to remove "run" from the string. second time "run" directory can be "stop" directory. therefore we can't use string replace command. what is I think to do is remove the string after last "\". Anyone know how to do this in windows commandline(cmd)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果可以在过程中更改目录,怎么样:
If it's okay to change dirs during the process how about:
在命令行中,这是有效的:
现在环境变量 FOLDER 包含值“folder”
我使用 tokens=3 因为文件夹是 \-分隔符之后的第三个标记
如果您使用 tokens=2 环境变量 FOLDER 包含值“dir”
如果您使用 tokens=1 环境变量 FOLDER 包含值“c:”
如果您将 %A 替换为 %%A,它也应该在批处理文件中工作,如下所示:
基于此,您可以构建一个重复的循环,直到 FOLDER 为空 细绳。
在循环中,您需要在每一步将 FOLDER 分配给 LASTFOLDER。
循环完成后,LASTFOLDER 包含当前目录的文件夹。
您还可以将代码放入单独的脚本“GetBaseFolder.BAT”中并使用
在主批处理中“调用 GetBaseFolder %CD%”。
in commandline this works:
Now the environment variable FOLDER contains the value "folder"
I used tokens=3 because folder is the third token after the \-delimiters
If you used tokens=2 the environment variable FOLDER contained the value "dir"
If you used tokens=1 the environment variable FOLDER contained the value "c:"
it should also work in Batch Files if you replace %A by %%A like follows:
Based on this you can build a loop that repeats until FOLDER is empty string.
In the loop you would need to assign FOLDER to LASTFOLDER at each step.
After the loop is done, LASTFOLDER contains the Folder of your current Directory.
You also could put the code into a seperate script "GetBaseFolder.BAT" and use
"call GetBaseFolder %CD%" in the main Batch.