您好我正在尝试制作一个脚本来静默安装一些应用程序。我需要阅读一个名为 list.txt 的文本文件。在文件中有我将静默安装的应用程序,每行。但是如果程序行没有安装文件,我不需要尝试静默安装。并将未安装的应用程序的名称保存在不同的文本文件中。这就是我遇到的问题,我无法使用 %errorlevel%, !errorlevel! 或错误级别 1。
这就是脚本:
@ECHO OFF
SetLocal EnableDelayedExpansion EnableExtensions
set count=0
FOR /F "delims=·" %%A IN (list.txt) DO (
IF !count! EQU 0 (
findstr /I /C:"thunderbird" %%A
IF !errorlevel! == 0 (
ECHO Installing [ %%A ]
::"%%A" /S
set count=1
)
)
IF !count! EQU 0 (
findstr /I /C:"firefox" %%A
IF !errorlevel! == 0 (
ECHO Installing[ %%A ]
::"%%A" /S
set count=1
)
)
IF !count! EQU 0 (
ECHO %%A >> temp.txt 2>NUL
)
set count=0
)
而list.txt的内容是:
Thunderbird 24.0.1.exe
Cantinstall.exe
Firefox 25.exe
%errorlevel% 和 !errorlevel! 总是 1
解决方案感谢 MC ND 的评论:
@ECHO OFF
SetLocal EnableDelayedExpansion EnableExtensions
set count=0
FOR /F "delims=·" %%A IN (lista.txt) DO (
IF !count! EQU 0 (
echo Installing [ %%A ] | findstr /I /C:"thunderbird"
IF not errorlevel 1 (
::"%%A" /S
set count=1
)
)
IF !count! EQU 0 (
echo Installing [ %%A ] | findstr /I /C:"firefox"
IF not errorlevel 1 (
::"%%A" /S
set count=1
)
)
IF !count! EQU 0 (
ECHO %%A >> temp.txt 2>NUL
)
set count=0
)
temp.txt 的输出:
cantinstall.exe