标题: [其他] 向大家教个调试批处理的方法? [打印本页]
作者: zcydez 时间: 2010-4-4 16:57 标题: 向大家教个调试批处理的方法?
有时批处理发生故障后(比如说遇到了goto a,但批处理文件里却没有标签a),虽然cmd.exe会提示,但是窗口一闪而过,根本看不清错误提示。
在这里我想大家教个方法——在要调试的批处理旁边再做一个批处理去start哪个要调试的批处理,就回打开哪个要调试的批处理,并且即使发生错误也不会关闭,让你有时间看清错误现象和提示。就像下面这样
不过遇到调试的批处理里的exit命令,批处理还是照样会关掉的~~
大家可以试试~~~
别忘跟贴啊~~~
提示:用pause没用
我连%0都没用的
不信可以试
作者: more 时间: 2010-4-4 18:52
本人的经验:把@echo off去掉,在合适的地方加个pause,对变量不太清楚的话再echo.变量。
作者: bat007 时间: 2010-4-4 18:58
把@echo off去掉
开始
运行
cmd
YourFile.bat
作者: huzi525 时间: 2010-4-4 19:03
非常感谢分享经验
的确有用!
请问大家有“块注释”的好办法吗?
作者: js588 时间: 2010-4-4 22:19
谢谢楼主,提供经验,嘎嘎,新手学到了
作者: bat007 时间: 2010-4-4 22:45 标题: 回复 4楼 的帖子
goto,参考:
http://bbs.bathome.net/thread-7492-1-1.html
作者: lxzzr 时间: 2010-4-4 22:50
如果批处理很长的话,我一般用以下方法:- @echo off
- set DEBUG=1
- if %DEBUG% == 0 (set trace=echo.) else (set trace=rem )
-
-
- %trace%代码...
复制代码
作者: bat007 时间: 2010-4-4 22:57
如果批处理很长的话,我一般是逐个模块进行测试,然后再整合。
作者: huzi525 时间: 2010-4-6 01:26
7楼的办法
我看不懂,刚才在网上搜了半天也没找到 批处理中如何用Debug来调试。
哪位前辈,提供个简单的算例好吗?
或者发个学习介绍这个知识点的页面地址也行。谢谢了!
作者: caruko 时间: 2010-4-6 09:02
代码很长的话,我也喜欢把功能分离成模块,一个一个调试..
要注释一块代码,只要不是在call或者for中间,直接goto跳过当做注释
作者: GNU 时间: 2010-4-6 09:28 标题: 回复 9楼 的帖子
批处理为什么要用Debug来调试?
作者: crartor 时间: 2010-4-6 09:51
在批处理中有 exit 先去除,或在可能出错的地方的不同行 加 pause ,运行时就可以根据暂停的次数判断哪出错了。
如果是比较复杂的话,我也是逐块逐块调试好,然后组合起来。
作者: caruko 时间: 2010-4-6 15:47 标题: 回复 11楼 的帖子
那不是DEBUG调试..
那个DEBUG只是个变量..
设置为1时,代码变注释
设置为0时,代码正常执行而已
作者: pda8888 时间: 2023-10-13 22:51
回复 7# lxzzr
还有这种骚操作,注释也可以动态?
作者: Five66 时间: 2023-10-14 18:49
回复 14# pda8888
批处理有预处理,预处理类似于C语言的宏替换,
由于预处理拥有变更代码的能力,不光注释,变量名,代码之类都能”动态“
作者: yyz219 时间: 2023-10-14 20:18
谢谢 学习了
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |