Board logo

标题: [文本处理] .bat中去掉path中的一个路径 [打印本页]

作者: fshaha    时间: 2014-8-5 15:31     标题: .bat中去掉path中的一个路径

本帖最后由 fshaha 于 2014-8-5 15:56 编辑

比如path中有C:\aa\bb;D:\dd\ee;
现在可以获得要删除的路径 set del_path=D:\dd\ee;
怎么把path改为C:\aa\bb;
  1. set path=C:\aa\bb;D:\dd\ee;
  2. set del_path=D:\dd\ee;
  3. ::下面这句话怎么不输出C:\aa\bb;呢
  4. echo %path:del_path=%
复制代码

作者: CrLf    时间: 2014-8-5 16:41

用变量延迟
  1. set path=C:\aa\bb;D:\dd\ee;
  2. set del_path=D:\dd\ee;
  3. setlocal enabledelayedexpansion
  4. echo !path:%del_path%=!
复制代码
或 call
  1. set path=C:\aa\bb;D:\dd\ee;
  2. set del_path=D:\dd\ee;
  3. call echo %%path:%del_path%=%%
复制代码

作者: fshaha    时间: 2014-8-5 16:55


太感谢啦!以前没写过.bat。
第一个变量延迟没看明白,第二个差不多能看懂(好像是多一层%,莫非%跟单引号一样?)
谢谢啦
作者: DAIC    时间: 2014-8-5 20:50

回复 3# fshaha


看教程:
http://bbs.bathome.net/thread-2899-1-1.html




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2