中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-02 21:37
48,038 主题排行 / 350,123 发帖 / 今日 1 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » set与IF命令的问题!!!
可打印版本  1,149 / 9
第1楼 renziyang 发表于 2006-12-27 04:44
新手上路 发帖 4 积分 10
set与IF命令的问题!!!
各位大大!!小弟有礼了!!

set "STARTPRGNAME=%STARTPRGNAME:"=%"
语句中:"=%"表示什么意思?

if /i "%STARTPRGNAME%" == "cmd" goto :cmd_exe
语句中/i表示什么意思?

if not "%STARTPRGNAME:.bat=%" == "%STARTPRGNAME%" goto :cmd_or_bat
语句中:.bat表示什么意思?

谢谢各位大大帮忙!!!小弟在线等。


──────────────── 版务记录 ────────────────
执行:namejm
修改后标题:set与IF命令的问题!!!
说明:因修改后的标题仍然过于模糊,不便于论坛的搜索和管理,
  请在三日内继续修改标题。

──────────────── 版务记录 ────────────────



[ Last edited by namejm on 2006-12-26 at 04:33 PM ]
第2楼 namejm 发表于 2006-12-27 04:52
荣誉版主 发帖 1,737 积分 5,226 来自 成都
  1、那是字符串替换语句,在这里是把所有的引号置换为空,也就是去掉所有的引号。用法在 set 帮助里有,请看:

  2、if 中的 /i 参数表示比较字符串的时候,忽略大小写;

  3、和1是一样的道理。
第3楼 renziyang 发表于 2006-12-27 05:03
新手上路 发帖 4 积分 10
谢谢大大帮忙,小弟感激中……
第4楼 renziyang 发表于 2006-12-27 05:06
新手上路 发帖 4 积分 10
能否再清楚的解释一下1和3,我有些看不明白。
第5楼 ccwan 发表于 2006-12-27 05:15
金牌会员 发帖 1,160 积分 2,725 来自 河北廊坊
比如:abcd 将c替换为x

代码:
第6楼 renziyang 发表于 2006-12-27 05:18
新手上路 发帖 4 积分 10
我个人理解,是不是这样的?
1 中%STARTPRGNAME:"=% 的意义为用空字符串代替了STARTPRGNAME环境变量中所有的:字符。
3 中%STARTPRGNAME:.bat=% 的意义是用空字符串代替了STARTPRGNAME环境变量中所有的.字符
我说的对不对?请各位大大指正。
第7楼 zh159 发表于 2006-12-27 05:30
金牌会员 发帖 1,467 积分 3,687
1、不是:字符,而是"字符
2、不是.字符,而是.bat字符

:字符类似“我说:”的:字符用法
第8楼 ccwan 发表于 2006-12-27 05:45
金牌会员 发帖 1,160 积分 2,725 来自 河北廊坊
原来楼主没看我的代码
第9楼 PPdos 发表于 2006-12-27 05:52
高级用户 发帖 268 积分 783
呵呵 锐目
Originally posted by zh159 at 2006-12-26 04:30 PM:
1、不是:字符,而是"字符
2、不是.字符,而是.bat字符

:字符类似“我说:”的:字符用法
第10楼 muya05 发表于 2006-12-27 11:45
初级用户 发帖 22 积分 58
看了namejm兄的解说和ccwan兄的代码才知道set原来还可以这样用,
PF!

[ Last edited by muya05 on 2006-12-26 at 10:47 PM ]
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023