【问题标题】:When using pipe getting "The filename, directory name, or volume label syntax is incorrect."使用管道获取“文件名、目录名或卷标语法不正确”时。
【发布时间】:2013-03-06 21:45:03
【问题描述】:

当我在我的机器上运行以下命令(或任何带有管道 | 的命令)时:

目录 | findstr "目录"

我收到以下消息:

文件名、目录名或卷标语法不正确。

自己运行 dir 命令或 findstr 命令就可以了。

卷标是:

音量
驱动器 C 中的卷是 OSDisk
卷序列号为 685C-A5B5

版本是:

版本
Microsoft Windows [版本 6.1.7601]

【问题讨论】:

    标签: windows-7 dos


    【解决方案1】:

    检查您的 COMSPEC 变量。它应该包含 CMD.EXE 的完整绝对路径(包括文件名)。管道的每一侧都通过一个新的 CMD.EXE 线程执行,该线程通过 COMSPEC 值启动。

    【讨论】:

    • 就是这样,谢谢!不知道那个环境变量是如何改变的。但是将其设置回指向 CMD.exe 的完整路径是有效的。
    • @highlandwolf - 不要忘记点击答案左上角附近的复选标记来接受答案。每个问题只能接受一个答案。该动作让其他人知道问题已被回答,奖励您 2 点声望,并奖励答案海报 15 点。一旦你达到 15 个代表点,你就可以对你认为有用的答案进行投票,甚至可以对其他人的问题进行投票。投赞成票给答案海报 10 分。
    • 这为我节省了很多。我正在与无法启动的野蝇作斗争,我已经缩小到“standalone.bat”中的一个命令在使用 findstr 时失败的事实。谢谢
    【解决方案2】:

    正如@dbenham 之前提到的,您需要确保您的 COMSPEC 变量定义了正确的值。

    它应该具有以下值:

    %SystemRoot%\system32\cmd.exe

    可以通过右键我的电脑-->属性-->高级系统属性-->环境变量来查看

    如果您在那里找不到 COMSPEC,请通过提供上述值创建一个新变量,即%SystemRoot%\system32\cmd.exe

    祝你好运

    【讨论】:

    • COMSPEC 在那里它只是不小心有错误的值。我已将其更改为 %SystemRoot%\system32\cmd.exe 并且有效。
    猜你喜欢
    • 2014-06-30
    • 2019-05-24
    • 2019-09-30
    • 2018-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多