0

您好我正在尝试制作一个脚本来静默安装一些应用程序。我需要阅读一个名为 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
4

0 回答 0