Board logo

标题: [其他] 批处理文件中不懂的地方 [打印本页]

作者: jellyhk    时间: 2008-8-9 00:00     标题: 批处理文件中不懂的地方

1:if errorlevel 3 goto defrag中的errorlevel是什么?
我搜索了下好象说是什么返回码..还是不懂!!

2:set 和choice哪里不一样了?
是不是
set /p要自己点回车……
choice不需要……
但是choice在XP上没有自己带(谁有可以上传上来么!!)

3:两个冒号后面的内容为前一行内容解释的E文?只能e文?不能用中文?

4:<nul
是什么意思?

5:>nul 2>nul和>nul 有什么区别
作者: Batcher    时间: 2008-8-9 01:32

先找几个教程看看,再提问比较好。
作者: null    时间: 2008-8-9 01:39

第一个问题,给你段代码,自己研究一下就OK
  1. @echo off
  2. dir c:
  3. rem退出代码为>=1就跳至标题1处执行,>=0就跳至标题0处执行
  4. IF ERRORLEVEL 1 goto 1
  5. IF ERRORLEVEL 0 goto 0
  6. Rem 上面的两行不可交换位置,否则失败了也显示成功。[判断时值的排列顺序应该由大到小]
  7. :0
  8. echo 命令执行成功!
  9. Rem 程序执行完毕跳至标题exit处退出
  10. goto exit
  11. :1
  12. echo 命令执行失败!
  13. Rem 程序执行完毕跳至标题exit处退出
  14. goto exit
  15. :exit
  16. pause
复制代码


第二个问题:很抱歉,我还真没用过choice,所以不能帮你啦,,嘿。

第三个问题:
::后的内容可以是中文

第四个问题:
<nul     nul在批处理中是空设备,这里是重定向输入(<)一个空设备,也就是把一个空值赋值给变量
例:set /p=xx<nul

第五个问题:
>nul    表示把命令产生的屏幕显示信息重定向(>)到空设备(nul),这样在屏幕上就不会显示命令的执行结果
1>nul  表示将正确执行命令的信息禁止输出
2>nul  表示将命令执行过程中错误信息禁止输出
作者: pusofalse    时间: 2008-8-9 05:12

1. errorlevel 每个程序或者命令运行完毕都会返回一个退出编码,可以根据这个退出编码来判断程序有无运行成功。
因为errorlevel的值非常不确定,建议用&&或||来判断。

2:它们的区别在于set比choice高级。。。

3:这样的问题,建议自己先思考和测试过之后再提。

4:请自己测试,去掉<nul之后会显示什么,保留又显示什么,请从中自己找到规律现象。

5:同4

学习批处理,最主要的一点就是思考。。不断独立思考。。
作者: jellyhk    时间: 2008-8-10 23:15

呵呵!!
斑竹说的是!!!!
只是我没时间也没电脑!!!




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2