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

时间:2015-04-25 14:50:18

标签: windows batch-file tasklist

我有一行像这样编写的BAT代码:

tasklist /FI "IMAGENAME eq WerFault.exe"|find /C "WerFault.exe" > temp.txt

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

error :Invalid argument/option: - 'eq'

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

1 个答案:

答案 0 :(得分:5)

您或者来自搜索的人可能会受到文本编码疯狂和cmd.exe的临界破坏行为以及websites such as this one的影响。

他们做了什么:

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

    可能发生的事情:

    • 用户复制粘贴该行并收到错误
    • 用户注意到缺失的引号并将其添加
    • 现在看起来与其他引号相同,因此无法查看发生了什么。
    • 它不仅看起来相同,将其复制粘贴回来,例如Stackoverflow,用标准的无向双引号替换它!换句话说,它与正确无法区分即使将它复制回窗外进行分析也是符号!
    • 即使对于cmd中的复制粘贴(方便不适用于标准热键),上面也是如此,但用于通过向上恢复线路键。

    我再次从中学到了什么:

    不信任涉及Unicode的内容。

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

    这可能不是这里的原因,但如果其他人和我一样来到这里,也许这个答案可以节省几分钟。