金九银十的广告语:bat编程关于IF命令的问题!

来源:百度文库 编辑:高校问答 时间:2024/04/29 06:17:49
如果%1大于%2则 echo 1 > 2
如果%2大于%1则 echo 2 > 1
这用IF命令能做到么?怎么做呢?

batch IF命令 没有这个功能。

IF语句只有这几种形式:
IF ERRORLEVEL number -- 如果错误类型是几,则...
IF string1==string2 -- 如果字串1等于字串2,则...
IF exist filename -- 如果文件存在,则...
IF NOT -- 如果非什么什么是真,则...

它只能比较是否相等,不能比较大小。
if "%1" == "%2" echo %1 deng yu %2 -- 比较是否相等

你可以写个C程序,插入bat,来判断位置参数的大小,如果1 > 2,建一个文件名叫 onetwo.txt, 如果2 > 1,建一个文件名叫 twoone.txt.
然后用 IF exist 判断.

del onetwo.txt twoone.txt
c_prog.exe %1 % 2
IF exist onetwo.txt echo 1 greater 2
IF exist twoone.txt echo 2 greater 1

C 程序 中 main(int argc, char *argv[]){}
argv[1] 是字符串 %1, argv[2] 是字符串 %2,
字符串比大小用strcmp()函数。
用 sscanf(argv[1],"%d", &i1);
sscanf(argv[2],"%d", &i2);
可以转化成数字量作比较。