找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 29283|回复: 5

[其他] 有没有检查批处理语法错误的工具?

[复制链接]
发表于 2011-4-27 15:08:18 | 显示全部楼层 |阅读模式
谁知道有什么工具能检查所写批处理是否存在语法错误的吗?
发表于 2011-4-27 15:42:19 | 显示全部楼层
cmd
发表于 2011-4-27 16:20:38 | 显示全部楼层
发表于 2011-4-27 17:11:28 | 显示全部楼层
notepad++
语法高亮很好用,支持宏,还以直接cmd运行
发表于 2012-10-20 16:17:17 | 显示全部楼层
试试这个  能检查大部分错误
但不能检测以参数执行命令的批处理文件和标记跳转检测
使用方法:把任意BAT文件拖入到本程序即可 支持多个文件 解决了空格文件读取出错的BUG

@echo off
mode con cols=79 lines=50
title Bat Test
::把开启延缓环境变量放到后面 使%*第一个带有空格的文件拖入时不退出
set `=%*
set gc=0
setlocal enabledelayedexpansion
echo;━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
::获取dos内部命令
for /f  %%i in ('help^|findstr "^[A-Z]"') do (set ml=!ml!%%i )
set ml=%ml%: ^( ^) ^^
::开始扫描
for %%a in (%`%) do (set fy=
::检查%%a变量是不是参数
if "%%~a" neq "%%~nxa" (
  ::检查%%a格式是否为bat
  if /i "%%~xa" equ ".bat" (
   for /f "delims= " %%b in (%%~sa) do (
    ::检查文件是否符合要求[EXE 和 0KB的 淘汰]
    if not defined %%b (
     ::检查是否已经检查
     if not defined fy (
      ::开始检查
      set/a gc+=1
      call :fy %%~sa
      set fy=y
     )
    )
   )
  )
)
)
pause
exit

:fy
set/a "w=0,jgs=0,cws=0,rz=0,ry=0"
::开始检测%1
echo;&echo;      加载%1中&echo;
for /f "delims=" %%c in (%1) do (
set/a w+=1&set r2=%%c&set r=%%c
::删除空格
call :nod
for %%d in (!ml!) do (set r2=!r2:%%d=!)
set w!w!=!r!&if /i "!r2!"=="!r!" (if "!r3:~-1!" neq "^" (echo;%%c 不是内部命令&set/a jgs+=1))
set r3=%%c
)
for /l %%c in (1,1,!w!) do (
if "!w%%c:~0,1!" neq "" (
if "!w%%c:~0,1!" equ "(" (if !rz! equ 1 (echo;列:%%c 使用^( 时错误&set/a cws+=1) else (set/a "rz=1,zz+=1")) else (set w%%c=!w%%c:~1,1023!)
if "!w%%c:~0,1!" equ ")" (if !rz! equ 1 (echo;列:%%c 使用^) 时错误&set/a cws+=1) else (set/a "ry=1,zz-=1")) else (set w%%c=!w%%c:~1,1023!)
)
)
echo;&echo; 工程:!gc! 测试结束 警告数量:!jgs! 错误数量:!cws!&echo;
echo;━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Goto :EOF

:nod
if "!r:~0,1!" equ " " (set r=!r:~1,1023!&set r2=!r!&call :nod) else (Goto :EOF)
发表于 2023-6-5 09:42:01 | 显示全部楼层
https://www.robvanderwoude.com/
这个网站有可以检查的工具
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 17:24 , Processed in 0.018251 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表