具有两个条件和一个循环的批处理文件

Batch File with two conditions and a loop

让我们假设我编写脚本的唯一方法是通过批处理文件。

我有一个包含一长串命令的批处理文件,但是,我需要包括两个意外情况:

我希望将其与其余代码保存在同一个批处理文件中。我试过将一些命令缝合在一起,但通常会出现语法错误。我能够使用 %ERRORLEVEL% 使 IP 部分工作,但是,我只能找出搜索单个 IP 掩码的方法。

这是一个非常错误的基本代码:

    @ECHO off

    for /F "tokens=1*" %%G in ('SYSTEMINFO ^| FIND /I "DOMAIN:"') do (
        IF %%G == ".com" (
            GOTO :IPCheck
        ) ELSE ( GOTO :NoRun

    :IPCheck
    ipconfig | find /i "192." "169."
        if %ERRORLEVEL% == 0 goto IPCheck


     REM Domain address is configured and will continue script.)
    pause
    )

find 无法查找多个搜索字符串。 Findstr 是。有关详细信息,请参阅 findstr /?

您甚至不需要任何类型的循环:

@echo off
ipconfig | find "IPv4" | findstr /c:" 192." /c:" 169." >nul && goto :NoRun    
systeminfo | findstr /RBE "Domain:.*\.com" >nul || goto :NoRun
echo all ok. Insert payload here...
goto :eof
:NoRun
echo this system doesn't meet the prerequisites.