![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-02 19:09 |
共 48,038 主题排行 / 350,123 发帖 / 今日 1 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 关于大小写转换的问题??? |
| 可打印版本 1,424 / 6 |
| 第1楼 sunyao | 发表于 2006-12-19 05:14 |
| 初级用户 发帖 60 积分 141 来自 天津 | |
|
关于大小写转换的问题??? 系统是2k
set /p con="是否继续(Y/N):" set con=%con:y=Y% set con=%con:n=N% if %con%==Y goto continue if %con%==N goto out 写在cmd脚本中程序执行中echo %con% 发现con此时为y=Y 也就是说con现在等于表达式y=Y 那么if判断时就变成 if y=Y==Y goto continue 可是这句话在2003中报语法错误 不知道为什么 另外set con=%con:y=Y%在命令行中执行后 echo %con% 此时con就等于Y 为什么命令行中和脚本中的命令执行不一样呢 |
|
| 第2楼 redtek | 发表于 2006-12-19 12:17 |
| 金牌会员 发帖 1,147 积分 2,902 | |
|
if /i 参数可以不分大写或是小写来判断~:) |
|
| 第3楼 sunyao | 发表于 2006-12-19 22:22 |
| 初级用户 发帖 60 积分 141 来自 天津 | |
|
那set con=%con:y=Y%这句话
写在cmd脚本中程序中 con怎么为y=Y呢 不清楚 |
|
| 第4楼 sunyao | 发表于 2006-12-19 22:43 |
| 初级用户 发帖 60 积分 141 来自 天津 | |
|
另外2003
if /i %con%==Y goto continue 还是报错 |
|
| 第5楼 redtek | 发表于 2006-12-19 23:24 |
| 金牌会员 发帖 1,147 积分 2,902 | |
|
为了防止空变量或是意外的符号产生的冲突,一定要
把比对的变量一定要用什么符号,象上面的 " " 中括号给括起来,让 if 读得清清晰晰,好的结构代码出错的情况就小一些~:) if /i 参数已经可以不分大小写了,所以 set con=%con:y=Y% 这句就可以不再写上了~:) 如果不喜欢用等号判断,则 if 还提供了如下方式: [ Last edited by redtek on 2006-12-19 at 10:25 AM ] |
|
| 第6楼 sunyao | 发表于 2006-12-19 23:30 |
| 初级用户 发帖 60 积分 141 来自 天津 | |
|
明白 谢谢redtek
|
|
| 第7楼 mackyliu | 发表于 2006-12-20 00:50 |
| 初级用户 发帖 16 积分 32 | |
|
不错,学习了.
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |