Board logo

标题: [其他] [已解决]求解释批处理字符串变量"%cd: =%"的意义 [打印本页]

作者: chenyuwen2006    时间: 2019-10-14 01:01     标题: [已解决]求解释批处理字符串变量"%cd: =%"的意义

如题:
小白在一位大师写的批处理中看到一条判断语句
if not "%cd%"=="%cd: =%" goto :Err0
其中转向条件中的字符串变量"%cd: =%"的值和含义,始终没搞明白。看原作者的提示信息,这条语句的作用是用来检查路径中是否含有中文和空格字符,小白求助大神指点。谢谢!
作者: zaqmlp    时间: 2019-10-14 01:16

本帖最后由 zaqmlp 于 2019-10-14 01:17 编辑

%cd: =%
表示%cd%删除空格后的值

if not "%cd%"=="%cd: =%" goto :Err0
表示如果%cd%的原值不等于删除空格后的值(即含有空格),则跳转到:Err0标签处
作者: Batcher    时间: 2019-10-14 07:30

更多关于字符串替换的内容,请参考 set 命令第9页:
http://bbs.bathome.net/thread-31727-1-1.html
作者: chenyuwen2006    时间: 2019-10-14 12:55

感谢您的热心指点!%cd: =%是一种变量运算表达式吗?
作者: Batcher    时间: 2019-10-14 12:57

回复 4# chenyuwen2006


    就是字符串替换
作者: chenyuwen2006    时间: 2019-10-14 22:32

本帖最后由 chenyuwen2006 于 2019-10-14 22:35 编辑

回复 版主5# Batcher
版主精准指点,已经搞明白了这一点。多谢!可以结题了!
作者: 科零仿佛    时间: 2019-10-23 00:33

我一直以为"%cd: =%"这个不能单独用,要和set连用,emm




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