Batch file Findstr不适用于SET/P?

Batch file Findstr不适用于SET/P?,batch-file,findstr,Batch File,Findstr,我有一个批处理文件,其部分如下所示: rem @echo off cd C:\Program Files\CA\AllFusion Gen\GEN\test8.ief\c\ FINDSTR /C:"'V1600 OPER'" /C:"'V1714 OPER'" /C:"'V1801 OPER'" /C:"'V1901 OPER'" "MPOAD10C" 上述批处理文件使用上述代码成功运行。但是,当我修改脚本以便用户可以输入两个变量时,如下图所示((%path%=tes

我有一个批处理文件,其部分如下所示:

    rem @echo off
    cd C:\Program Files\CA\AllFusion Gen\GEN\test8.ief\c\
    FINDSTR /C:"'V1600 OPER'"  /C:"'V1714 OPER'" /C:"'V1801 OPER'" /C:"'V1901 OPER'" "MPOAD10C"
上述批处理文件使用上述代码成功运行。但是,当我修改脚本以便用户可以输入两个变量时,如下图所示((%path%=test8.ief,%file\u name%=MPOAD10C),它抛出以下错误:

“FINDSTR”不被识别为内部或外部命令、可操作程序或批处理文件

    rem @echo off
    SET /P path=Enter name of IEF folder:
    echo. && echo.
    SET /P file_name=Enter name of file:
    echo. && echo.
    cd C:\Program Files\CA\AllFusion Gen\GEN\%path%\c
    FINDSTR /C:"'V1600 OPER'" /C:"'V1714 OPER'" /C:"'R18 V1801 OPER'" /C:"'V1901 OPER'" "%file_name%"
我还在环境变量的PATH变量中输入了值“C:\WINDOWS\system32”

我对批处理脚本非常陌生。请帮忙。提前谢谢

问候,,
Mohit Gupta.

不要将
path
用作您自己的变量之一,Windows会使用该特定环境变量来定位可执行文件,如您刚刚发现的
findstr


将其更改为类似于
mypath
的内容,您的问题就会消失。

不要将
path
用作您自己的变量之一,Windows会使用该特定环境变量来定位可执行文件,如您刚刚发现的
findstr


将其更改为类似于
mypath
的名称,您的问题就会消失。

若要解决此问题,请使用
%PATH%
以外的名称来捕获用户的输入


%PATH%
是一个特殊的控制变量。当您使用
集合/P
修改
%PATH%
时,您将更改命令解释器将查找
FINDSTR
的位置。它在
%PATH%
的新位置找不到
FINDSTR.EXE
,因此出现错误“'FINDSTR'未被识别为内部或外部命令”

若要解决此问题,请使用
%PATH%
以外的名称捕获用户的输入

%PATH%
是一个特殊的控制变量。当您使用
集合/P
修改
%PATH%
时,您将更改命令解释器将查找
FINDSTR
的位置。它在
%PATH%
的新位置找不到
FINDSTR.EXE
,因此出现错误“FINDSTR”不能识别为内部或外部命令”