奇数批处理文件编程错误:无效的参数/选项: - 'eq'

wor*_*ace 4 windows batch-file tasklist

我有一行BAT代码写成这样:

tasklist /FI "IMAGENAME eq WerFault.exe"|find /C "WerFault.exe" > temp.txt
Run Code Online (Sandbox Code Playgroud)

它持续了好几天但突然我收到了这条错误消息:

error :Invalid argument/option: - 'eq'
Run Code Online (Sandbox Code Playgroud)

在此错误消息之前和之后代码没有被更改,我无法弄清楚是什么问题.

Van*_*oiy 5

您或者来自搜索的人可能会被文本编码疯狂和cmd.exe的临界破坏行为所控制,并与此类网站相结合.

他们做了什么:

  1. 省略一个引号
  2. Unicode字符201c替换另一个引号

可能发生的事情:

  • 用户复制粘贴该行并收到错误
  • 用户注意到缺少的引号并添加它
  • 它现在看起来与另一个引号相同,所以没有办法看到发生了什么.
  • 它不仅外观相同,将其复制粘贴回来,例如Stackoverflow,用标准的无向双引号替换它!换句话说,即使将其复制回窗口进行分析,它也无法与正确的符号区分开来!
  • 即使对于cmd内的复制粘贴(这对于标准热键也不方便),上述情况也是如此,但不能通过向上键返回一行.

我再次从中学到了什么:

不信任涉及Unicode时所看到的内容.

此外,cmd.exe通常不是很安全或理智.如有疑问,请手动重新输入命令.

这可能不是这里的原因,但如果其他人出于同样的原因来到这里,也许这个答案可以节省几分钟.