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

[系统相关] 批处理报错“对 SETLOCAL 命令来说参数是无效的”是什么原因

[复制链接]
发表于 2016-11-3 23:39:08 | 显示全部楼层
回复 12# liumtz

wmic 的输出中, 行结束符可能并不是你想象的情形, 你可以把输出重定向到文件, 看看具体情况

Notepad++ 可以显示不可打印的 ASCII 字符, 包括单个的 CR 或者 LF

有许多命令在 XP 和 WIN7 的表现会有细节的差异, 想要两种环境下都兼容的, 调试时就先想想是不是某命令在两种环境下的差异造成了问题
发表于 2016-11-3 23:56:20 | 显示全部楼层
回复 12# liumtz


    并非 WMIC 不兼容 win7, 是你的方法不对。另外,语句块中注释应该用 rem
  1. @echo off
  2. for /f "delims=" %%a in ('wmic service where "Name='spooler' or Name='eventlog'" get PathName ^| find ""') do (
  3.         call :lis "%%a"
  4. )
  5. pause & exit

  6. :lis
  7. echo;[%~f1]
复制代码
 楼主| 发表于 2016-11-4 00:07:34 | 显示全部楼层
本帖最后由 liumtz 于 2016-11-4 00:11 编辑

回复 16# aa77dd@163.com


    好的,我用了一下Notepad++,五颜六色,眼花= =。。。看来得慢慢习惯代码编辑器了,我发现批处理真的很难写,太不灵活了。刚才的代码又遇到一个问题,执行到echo 断点2后面,CMD会显示系统找不到指定的驱动器。,我把后面两句带注释的行删掉就不会有这个提示了。可是后面是两句加了注释的行啊,貌似还是会执行?
::if not exist %exe%\ del /f /q %exe%
::sc delete Distribuobj

以下是CMD显示的信息:
◇◇◇◇◇◇◇◇◇◇
C:\WINDOWS\system32\spoolsv.exe
"◇C:\WINDOWS\system32\spoolsv.exe
"C:\WINDOWS\system32\spoolsv.exe"
☆"C:\WINDOWS\system32\spoolsv.exe"☆
exePath=C:\WINDOWS\system32\spoolsv.exe
请按任意键继续. . .
断点1
断点2
系统找不到指定的驱动器。
C:\WINDOWS\system32\services.exe
"◇C:\WINDOWS\system32\services.exe
"C:\WINDOWS\system32\services.exe"
☆"C:\WINDOWS\system32\services.exe"☆
exePath=C:\WINDOWS\system32\services.exe
请按任意键继续. . .
断点1
断点2
系统找不到指定的驱动器。


LPK已清除完毕,请现在重启电脑,重启后免疫将生效


---------------------请按任意键退出该程序或直接关闭此窗口--------------------
 楼主| 发表于 2016-11-4 00:13:11 | 显示全部楼层
本帖最后由 liumtz 于 2016-11-4 00:46 编辑

回复 17# WHY


    语句块中没有使用REM注释才导致出现:系统找不到指定的驱动器。 试了下果然是这个原因,另外你给出的有关WMIC的代码很简洁高效,多谢!
发表于 2016-11-4 00:24:38 | 显示全部楼层
楼主看过 ntcmds.chm
没有,没有就开始看,
:: 不是注释头, 只是标签语法符号的异用
发表于 2016-11-4 00:38:09 | 显示全部楼层
回复 18# liumtz

程序设计语言用的精确语言范式,批处理作为一种胶水语言,相对高级语言[比如PASCAL],其语法范式的规范性差远了,和你认为的正相反,胶水语言通常都是灵活的,灵活的代价有可能牺牲规范性,统一性,微软官方既不开源,又没有给出很深入很完整的语言规范文档--这个造成批处理编写上的一些困难
 楼主| 发表于 2016-11-4 00:47:37 | 显示全部楼层
回复 20# aa77dd@163.com


    确实没看过 - -
 楼主| 发表于 2016-11-4 00:50:48 | 显示全部楼层
回复 21# aa77dd@163.com


    是啊,批处理越深入越觉得变态,有点莫名其妙,还是javascript好理解。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 07:30 , Processed in 0.021751 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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