批处理脚本 - 错误如果语法
问题描述:
我想检查我创建的数组中的文本,如果我不使用“如果”每件事情都有效,我可以使用“回声”,但是当我添加“if”命令时“错误的语法”批处理脚本 - 错误如果语法
@echo off
setlocal ENABLEDELAYEDEXPANSION
set i=0
for /f "delims= " %%a in ('command') do (
set /A i+=1
set list[!i!]=%%~a
)
set Filesx=%i%
rem Display array elements
for /L %%i in (1,1,%Filesx%) do (
if list[%%i] =="some ttext"
echo !list[%%i]!
)
答
我会考虑相应地改变你的脚本:
@Echo Off
SetLocal EnableDelayedExpansion
Set "i=0"
For /F %%A In ('command') Do (Set/A i+=1
Set list[!i!]=%%~A)
Rem Display array elements
For /L %%A In (1,1,%i%) Do If /I "!list[%%A]!"=="some ttext" Echo !list[%%A]!
Pause
在你的脚本,你需要更改if list[%%i]
至If /I "!list[%%i]!"
@echo off
setlocal ENABLEDELAYEDEXPANSION
set i=0
for /f "delims= " %%a in ('command') do (
set /A i+=1
set list[!i!]=%%~a
)
set Filesx=%i%
rem Display array elements
for /L %%i in (1,1,%Filesx%) do (
if /i "!list[%%i]!" =="some ttext" (
echo !list[%%i]!
)
)
答
的if
语句需要一个确切的匹配(为==
或equ
),所以如果你引用一个方面,你需要引用其他。
另外,对于是否真状态的动作一定要在同一个物理线为if
+0
试过了,仍然不是 – user2420171
+0
和我的附录......? – Magoo
不应该在'echo!list [%% i]!'命令周围出现括号吗? – melpomene
不这么认为,无论如何,我加了他们,结果是一样的 – user2420171