在运行批处理文件时,您经常会遇到问题,您需要以某种方式调试批处理文件来确定批处理问题,以下是一些有助于调试批处理脚本文件的技术。
要发现消息的来源,请按照下列步骤操作:
第1步 - REM @ECHO OFF或:: @ECHO OFF。
第2步 - 使用必需的命令行参数运行批处理文件,将所有输出重定向到日志文件以供以后比较。
test.bat > batch.log 2>&1
第3步 - 在文件batch.log中搜索错误消息
第4步 - 检查上一行是否有意外或无效的命令,命令行开关或值;
第5步 - 纠正错误并重复此过程,直到所有错误消息消失。
要检查这些复杂命令的有效性,请按照以下步骤操作:
步骤1 - 在使用复杂命令集的行之前插入"command check lines"。
以下是一个示例,其中插入了ECHO命令以标签第一个TYPE命令的输出在哪里结束,下一个TYPE命令的输出在哪里开始。
TYPE %Temp%.\apipaorg.reg ECHO.================================================ TYPE %Temp%.\apipaorg.reg | FIND "[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\TCPIP\Parameters\Interfaces\"
步骤2 - 按照以下步骤查找上述错误消息源。
步骤3 - 特别注意"simplified"命令行的输出:输出的格式是否正确? "token"值或位置是否符合预期?
生成错误消息的子例程在查找错误原因时会带来额外的“challenge”,因为在同一批处理文件中可能会多次调用它们。
步骤1 - 在脚本的开头添加并重置计数器变量-
SET Counter=0
步骤2 - 每次调用子例程时,通过在子例程的开头插入以下行来增加计数器
SET /A Counter+=1
步骤3 - 在计数器增量之后插入另一行,仅包含SET命令;这将列出所有环境变量及其值。
链接:https://www.learnfk.comhttps://www.learnfk.com/batch-script/batch-script-debugging.html
来源:LearnFk无涯教程网
步骤4 - 按照以下步骤查找上述错误消息源。
如果打算将批处理文件分发到可能运行或可能不运行同一Windows版本的其他计算机,则需要在尽可能多的Windows版本中测试批处理文件。
以下示例显示了如何检查各种操作系统版本以检查相关的Windows版本。
@ECHO OFF :: Check for Windows NT 4 and later IF NOT "%OS%"=="Windows_NT" GOTO DontRun :: Check for Windows NT 4 VER | FIND "Windows NT" >NUL && GOTO DontRun :: Check for Windows 2000 VER | FIND "Windows 2000" >NUL && GOTO DontRun :: Place actual code here . . . :: End of actual code . . . EXIT :DontRun ECHO Sorry, this batch file was written for Windows XP and later versions only
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)