我有一个批处理文件,其中部分如下所示:
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_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。
答案 0 :(得分:2)
不要将path
用作您自己的变量之一,Windows会使用特定的环境变量来查找可执行文件,例如您刚刚发现的findstr
。
将其更改为mypath
,您的问题就会消失。
答案 1 :(得分:2)
要解决此问题,请使用%PATH%
以外的名称来捕获用户的输入。
%PATH%
是一个控制where the command interpreter searches for executables的特殊变量。使用%PATH%
修改SET /P
时,可以更改命令解释程序查找FINDSTR
的位置。它在FINDSTR.EXE
的新位置找不到%PATH%
,因此错误“'FINDSTR'未被识别为内部或外部命令”