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

马特G78

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

我有一个包含一长串命令的批处理文件,但是,我需要包含两个突发事件:

  • 需要在域上(我们将在本例中使用 .com)
  • 必须有一个非典型 IP(意味着 192 不在域上使用,而是在加入之前使用,而不是 169,因为 DHCP 分配延迟)。

我更愿意将它与其余代码保存在同一个批处理文件中。我尝试将一些命令缝合在一起,但通常会出现语法错误。我能够使用 %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.

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

创建一个批处理文件以合并两个具有“相似名称”和相同扩展名的文件[Windows]

一个批处理文件中有两个命令?

在Windows中,一个具有递归for循环的批处理文件,其文件名包括空格

具有两个可变日期的批处理文件

循环调用另一个批处理文件的批处理文件

在批处理文件的for循环中有另一个if选项

创建一个具有可供选择的选项的批处理文件,并在每次选择一个选项时循环播放,直到我结束该批处理文件为止

为什么批处理文件没有将两个文件连接成一个新文件?

我需要一个打开cmd,运行两个命令并保持cmd打开的批处理文件

我想要一个批处理文件来删除绝对路径位置 (F:\work) 中的所有文件,除了名为“txt1.txt”和“txt2.txt”的两个文件

需要自动化一个批处理文件,该批处理文件一个接一个地运行两个参数

将具有特殊字符的参数从批处理文件发送到另一个批处理文件

如何在批处理文件的for循环内扩展两个局部变量

如何组合两个批处理脚本,将它们放入一个批处理文件并按降序运行

批处理文件:两个连续的 IF

如何创建一个批处理文件,该批处理文件创建一个批处理文件,该批处理文件创建一个批处理文件

使用start命令启动具有多个参数的另一个批处理文件吗?

使用批处理文件使用条件语句一次运行一个脚本

调用另一个批处理文件的调用批处理文件失败

使批处理文件等待另一个批处理文件

如何使用一个主批处理文件运行多个批处理文件

自动制作一个批处理文件

如何在另一个批处理文件中调用一个批处理文件?

批处理,比较两个文件并将差异写入另一个文件

批处理-如何关闭从另一个批处理文件启动的批处理文件

从另一个批处理文件调用一个批处理,并从外部批处理中设置内部批处理文件参数

超链接后面有一个批处理文件。单击它返回404

如何使用批处理制作另一个带有变量的批处理文件?

如果使用批处理文件已经存在一个具有相同名称的文件夹,则创建编号文件夹