打印

[提问] 关于批处理的一个问题,批处理高人请进!

关于批处理的一个问题,批处理高人请进!

众所周知,if命令中有个命令叫errorlevel,而这errorlevel后面一向要加个叫什么DOS错误码或叫DOS返回值的东西!我在网上搜了一下,好象这错误码是1-255之间的一个数!但我实在是高不懂什么是DOS错误码!这如何查看到的呢!或是知道的呢!
我写了一个批处理,也就是“ if errorlevel X 命令 ”这样格式的!前几天,我这批处理能顺利的执行了命令,但今天却怎么也执行不了命令!if判断的条件已经成立了啊!为什么批处理不能顺利执行呢!
于是我想,可能是在这个DOS错误嘛上的原因吧!于是把errorlevel 0 改为errorlevel 1或是errorlevel2!但批处理还是无法顺利的执行!
我在网上看到的批处理教程里看到一句话!“IF ERRORLEVEL 是用来测试它的上一个DOS命令的返回值的,注意只是上一个命令的返回值”那这上一个DOS命令的返回值是多少,这怎么才能知道呢!

TOP

大哥们,帮帮忙啊!大哥们,帮帮忙啊!大哥们,帮帮忙啊!
根据C里面的return语句可以让main函数在执行完后返回一个值
这个值就是批处理里面IF  errorlevel 的条件值
并不是只有0 1 2的可能值
只不过程序员习惯按默认的方式返回值
而且意义可能不同

TOP

哦!原来是这样啊!问题的原因终于找到了!
前几天,我就觉很怪了!为什么前几天批处理能运行,到了第2天批处理就不能运行了!
原来logoff命令不知道怎么原因不能执行了!
我前几天的批处理命令是这样的!if errorlevel 0 logoff 1 (摘要)
但是,第2天再运行这批处理的时候,却不能把自己给注销了,我就觉的很怪啊!
于是今天我无聊的在CMD里运行了logoff 1,但却不能把自己给注销了!CMD一阵一阵的刷频着!(我晕,原来logoff命令被管理员给禁用了啊!)

管理员可能是用一个杀度软件设置的吧!(前段时间,肉鸡的管理员在肉鸡里装了一个杀毒与防火墙集成的软件!是国外的软件!软件里还有个“拦截远程溢出的功能呢!呵呵!)我想可能跟它有关系吧!

唉!说来也真倒霉!我前几天运行批处理,让我能顺利执行!过了第2天,又莫名其妙的不能运行了!我还以为是批处理的问题呢!谁成想到是管理员搞的鬼!害我费了不少脑力和精力!

Processed in 0.037776 second(s), 5 queries, Gzip enabled