Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 奇数批处理文件编程错误:参数/选项无效:-';等式';_Windows_Batch File_Tasklist - Fatal编程技术网

Windows 奇数批处理文件编程错误:参数/选项无效:-';等式';

Windows 奇数批处理文件编程错误:参数/选项无效:-';等式';,windows,batch-file,tasklist,Windows,Batch File,Tasklist,我有一行BAT代码是这样写的: tasklist /FI "IMAGENAME eq WerFault.exe"|find /C "WerFault.exe" > temp.txt 它持续了好几天,但突然我收到了以下错误消息: error :Invalid argument/option: - 'eq' 此错误消息前后代码均未更改,我无法找出问题所在。您或搜索过来的人可能被文本编码疯狂和cmd.exe的临界破坏行为以及 他们所做的: 省略一个引号 将另一个引号替换为Unicode字符2

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

tasklist /FI "IMAGENAME eq WerFault.exe"|find /C "WerFault.exe" > temp.txt
它持续了好几天,但突然我收到了以下错误消息:

error :Invalid argument/option: - 'eq'

此错误消息前后代码均未更改,我无法找出问题所在。

您或搜索过来的人可能被文本编码疯狂和cmd.exe的临界破坏行为以及

他们所做的:

  • 省略一个引号
  • 将另一个引号替换为Unicode字符201c
  • 可能发生了什么:

    • 用户副本粘贴该行并获得一个错误
    • 用户注意到缺少的引号并将其添加
    • 它现在看起来与另一个引号相同,因此无法看到发生了什么
    • 它不仅看起来一模一样,将其复制粘贴回Stackoverflow,还将其替换为标准的无向双引号换句话说,即使将其复制回窗口进行分析,也无法将其与正确的符号区分开来
    • 即使是在cmd中复制粘贴(这很方便,不适用于标准热键),上述情况也是正确的,但是通过向上键返回一行
    我再次从中学到:

    当涉及Unicode时,不要相信您看到的内容。 此外,cmd.exe通常不是非常安全或正常的。如有疑问,请手动重新键入命令


    这可能不是这里的原因,但如果其他人出于与我相同的原因来到这里,可能这个答案会节省他们几分钟。

    如果任务列表命令调用中没有引号,您将收到相同的结果。看起来与命令调用方式有关。请提供更多代码。@npocmaka,您需要在
    /FI
    过滤器规范周围加上双引号(至少对于Win7 x64)@Mofi,它不能是路径问题,因为错误消息是由任务列表命令产生的。它在另一台“已知良好”计算机上是否按预期工作?将代码直接复制并粘贴到控制台和批处理文件中,对我来说是完美的。也许实际的任务列表和find可执行文件,或者其他东西,在文件系统中坏了;命令为我正确地复制了,但我看到了这种影响如何发生在其他人身上。5年前,我提交了这个问题,在这个问题之后不久,我退出了IT行业。虽然当时我是个蹩脚的程序员,但我怀念过去的好日子/坏日子。非常感谢。