标题: set与IF命令的问题!!!
[打印本页]
作者: renziyang
时间: 2006-12-27 04:44
标题: 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 ]
作者: namejm
时间: 2006-12-27 04:52
1、那是字符串替换语句,在这里是把所有的引号置换为空,也就是去掉所有的引号。用法在 set 帮助里有,请看:
环境变量替换已如下增强:
%PATH:str1=str2%
会扩展 PATH 环境变量,用 "str2" 代替扩展结果中的每个 "str1"。
要有效地从扩展结果中删除所有的 "str1","str2" 可以是空的。
"str1" 可以以星号打头;在这种情况下,"str1" 会从扩展结果的
开始到 str1 剩余部分第一次出现的地方,都一直保持相配。
2、if 中的 /i 参数表示比较字符串的时候,忽略大小写;
3、和1是一样的道理。
作者: renziyang
时间: 2006-12-27 05:03
谢谢大大帮忙,小弟感激中……
作者: renziyang
时间: 2006-12-27 05:06
能否再清楚的解释一下1和3,我有些看不明白。
作者: ccwan
时间: 2006-12-27 05:15
比如:abcd 将c替换为x
代码:
@echo off
set str=abcd
set str=%str:c=x%
echo %str%
pause>nul
作者: renziyang
时间: 2006-12-27 05:18
我个人理解,是不是这样的?
1 中%STARTPRGNAME:"=% 的意义为用空字符串代替了STARTPRGNAME环境变量中所有的:字符。
3 中%STARTPRGNAME:.bat=% 的意义是用空字符串代替了STARTPRGNAME环境变量中所有的.字符
我说的对不对?请各位大大指正。
作者: zh159
时间: 2006-12-27 05:30
1、不是:字符,而是"字符
2、不是.字符,而是.bat字符
:字符类似“我说:”的:字符用法
作者: ccwan
时间: 2006-12-27 05:45
原来楼主没看我的代码
作者: PPdos
时间: 2006-12-27 05:52
标题: 呵呵 锐目
Quote: |
Originally posted by zh159 at 2006-12-26 04:30 PM:
1、不是:字符,而是"字符
2、不是.字符,而是.bat字符
:字符类似“我说:”的:字符用法 |
|
作者: muya05
时间: 2006-12-27 11:45
看了namejm兄的解说和ccwan兄的代码才知道set原来还可以这样用,
PF!
[
Last edited by muya05 on 2006-12-26 at 10:47 PM ]