[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] [已解决]批处理怎么使用set命令截取最后一次出现的字符呢?

  大家好,今天在学习set命令,看来论坛里面的好多例子也练习过来。就是有一个问题想问一下,截取最后一次出现的字符呢?
举例:,已知有如下路径:
  1. D:\winxp\i love bat\bathome!.bat
复制代码
要截取他的最后出现的\字符之前的路径,效果应该如下
  1. D:\winxp\i love bat\
复制代码
请问用set命令的话,代码给怎么写?
先在此谢过了,Thank you!
1

评分人数

    • tmplinshi: 感谢给帖子标题标注“[已解决]”字样PB + 2

2# tmplinshi
Thank you very much!
那要是截取最后出现的\之后的"bathome!.bat"呢?

TOP

4# tmplinshi

Thank you! 版主!
  1. for %%i in ("D:\winxp\i love bat\bathome!.bat") do echo %%~nxi
复制代码
用set也是同样的道理吗?

TOP

6# tmplinshi
刚才在看了一遍帖子,发现说错了。我的意思是楼主在2楼补充的那段,
  1. for %%i in ("%str:\=" "%") do set end=%%~i
复制代码
对应到截取\之后的bathome,应该也是相同的道理吧?
如果是的话,又应该改哪里呢?请版主提示即可,我自己会动手的。

TOP

8# tmplinshi
对,就是这样!暂时没有问题了。真的很感谢版主的热心解答!
I Love Batch as love my life!

TOP

返回列表