无忧启动论坛

标题: 批处理在CMD命令提示符下运行参数 [打印本页]

作者: oneplusone    时间: 2023-5-26 14:29
标题: 批处理在CMD命令提示符下运行参数
本帖最后由 oneplusone 于 2023-6-1 12:12 编辑

求教批处理在CMD命令提示符下运行如何逐条选择执行
有无相关的调试软件?
感谢各位大师的指导


作者: szwp    时间: 2023-5-26 15:31
记得没有
作者: 窄口牛    时间: 2023-5-26 15:38
没有记得
作者: conlin888    时间: 2023-5-26 16:02
以前玩cmd的是时候, 用命令call xxx.bat>xxx.txt来查找哪里出错
作者: kedion    时间: 2023-5-26 16:40
批处理命令本来就是逐行执行的
作者: magicgenius    时间: 2023-5-26 16:41
我也记得以前有,不会是在DOS下吧?
作者: lhc0688    时间: 2023-5-26 18:01
加 pause 暂停,然后慢慢查看
作者: nttwqz    时间: 2023-5-26 18:30
一般来说,批处理的能力有限,代码行数一般不会太长,个人目前写过最长的是DP盘符整理,也才2400行,几万甚至是几十万行的批处理真没有见到过,所以也没研究过VSCode中的调试功能,不知道怎么单步执行。

一般出错后,在cmd中执行脚本,借助pause和echo、set等排查。

对于语法错误直接退出的,一般会提示出错信息;仍然退出的,就在适当的位置增加pause,还退出继续往前增加,直到不退出,这样就可以排查哪一段的代码语法错误。

知道哪一段的代码语法错误后,头昏脑涨不便直接看出来的,可尝试开启这段代码的回显,或者单独写一个脚本来测试。

单独写一个脚本测试完之后,再增加到原来的脚本中是一个不错的习惯,特别是对于千行以上较长的脚本来说更不容易出错,对于几万行的,可以考虑将单独的功能模块写成一个单独的脚本来调用。

变量值获取错误可以借助echo、set显示相关变量,记得尝试在变量前后增加其它字符,比如echo #%var%#,这样可以排查你头大崩溃骂街几个小时的无法解决的问题,可能就是变量值后面多了一个空格。

这就不得不提几句代码编写习惯

养成增加注释的好习惯,方便自己看也方便他人看
使用vscode、notepad++等友好的代码编辑器,而不是系统自带记事本,具有代码高亮、自动补全、自动缩进对齐等功能,这样,你就减少了很多少了一个引号、一个括号之类的语法错误。代码高亮,不同的颜色更容易排错。代码段折叠功能,可以更容易理解代码整体框架逻辑。
变量赋值时尽可能使用双引号,这样基本就不会出现变量值后面多一个空格等空白字符。比如,set "var=wuyou"

作者: liu_zhenfeng    时间: 2023-5-26 19:34
我是删掉echo off 再加pause
作者: seeimpact153    时间: 2023-5-27 01:00
多谢分享
作者: DOSforever    时间: 2023-6-9 21:26
提示: 作者被禁止或删除 内容自动屏蔽
作者: vyuha    时间: 2023-6-20 02:14
收藏了谢谢分享!
作者: yyz2191958    时间: 2023-6-23 20:49
进来学习
作者: system110    时间: 2023-7-12 17:24

进来学习
作者: pda8888    时间: 2023-8-15 18:16
如果有啥批处理的IDE,就方便了。逐条执行,有观测窗口(变量值变化等等)
作者: liangzr1976    时间: 2023-8-19 08:41
https://wenda.so.com/q/1449461712725357
[ZT] DOS批处理如何单步执行

winnt 下,似乎是 cmd/y/c ddd.bat
但有些bat指令 运行不了




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3