[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[系统相关] [已解决]批处理如何根据IP地址判断是否执行程序?

查询IP地址,与对应的IP地址就执行程序,反之就exit
例如:
192.168.1.1  start 111.EXE
192.168.1.2  start DDD.EXE
192.168.1.3  start AAA.EXE
192.168.1.4  start BBB.EXE
192.168.1.5  start WWW.EXE
192.168.1.6  start 222.EXE
192.168.1.7  start 33.EXE
192.168.1.8  start 444.EXE
192.168.1.9  start 555.EXE
192.168.1.10  start 666.EXE
192.168.1.11 start 777.EXE
192.168.1.12  start 888.EXE
192.168.1.13  start 999.EXE
192.168.1.14  start 0000.EXE
192.168.1.15 start EEE.EXE
192.168.1.16 start RRR.EXE
192.168.1.17 start RTY.EXE
192.168.1.18 start UUU.EXE
192.168.1.19 start III.EXE
192.168.1.20 start OOO.EXE
。。。。。。。。。。。。。。。。
查到电脑IP为192.168.1.2 就执行DDD.EXE
没有查到就退出脚本

本帖最后由 idwma 于 2021-8-14 13:26 编辑
  1. @echo off
  2. call :n 111.exe ddd.exe aaa.exe ............
  3. goto :eof
  4. :n
  5. for /l %%i in (1,1,20) do (
  6. ipconfig|find "192.168.1.%%i"&&start %1
  7. shift
  8. )
复制代码

TOP

回复 2# idwma


不明白

TOP

回复 3# wlishihua


    那里不明白?

TOP

本帖最后由 yakeyun 于 2021-8-14 14:21 编辑

回复 1# wlishihua


@echo off
cd /d %~dp0
for /f "delims=: tokens=1,2" %%a in ('ipconfig ^|find "IPv4"') do echo,%%b&set ips=%%b
if %ips% == 192.168.1.123 start 111.EXE
if %ips% == 192.168.1.2  start DDD.EXE
if %ips% == 192.168.1.3  start AAA.EXE
..............
exit
1

评分人数

TOP

回复 4# idwma
你那个代码同我所表达的意思不一样,我所想的是,我不知道这台电脑的IP地址,查询 之后如果是192.168.1.2 就可执行我所要求的程序,如果检测没有这个IP(192.168.1.2)就通出脚本

TOP

本帖最后由 wlishihua 于 2021-8-14 14:18 编辑

回复 5# yakeyun


    一闪而过
@echo off
cd /d %~dp0
for /f "delims=: tokens=1,2" %%a in ('ipconfig ^|find "IPv4"') do (
if "%%b" = 192.168.1.1  start mhtcgi.exe
if "%%b" = 192.168.1.2  start Microsoft Edge.lnk

exit

TOP

回复 7# wlishihua


再看看

TOP

本帖最后由 idwma 于 2021-8-14 14:26 编辑

回复 6# wlishihua


    这样啊
  1. @echo off
  2. call :n 111.exe ddd.exe aaa.exe ............
  3. goto :eof
  4. :n
  5. for /l %%i in (1,1,1) do (
  6. shift
  7. )
  8. ipconfig|find "192.168.1.2"&&start %1
复制代码

TOP

回复 5# yakeyun


  正常运行,谢谢!

TOP

回复 9# idwma


   不是的

楼上正解

TOP

回复 11# wlishihua


    最初的那个应该也可以吧,你不试一下我不知道那里错了.

TOP

回复 11# wlishihua


    只能自己上机了
  1. @echo off
  2. call :n 111.exe ddd.exe aaa.exe ............
  3. pause
  4. goto :eof
  5. :n
  6. set/a n+=1
  7. ipconfig|find "192.168.1.%n%"&&start %1
  8. shift
  9. if not %n%==20 goto :n
复制代码

TOP

回复 13# idwma


   真的不行,

TOP

本帖最后由 idwma 于 2021-8-14 19:02 编辑

回复 14# wlishihua

尴尬之前把网关也包括进去了
    那再改一下这样呢
  1. @echo off
  2. call :n 111.exe ddd.exe aaa.exe ............
  3. pause
  4. goto :eof
  5. :n
  6. set/a n+=1
  7. ipconfig|findstr /i "^ipv4.*192.168.1.%n%"&&start %1&&goto :eof
  8. shift
  9. if not "%n%"=="" goto :n
复制代码

TOP

返回列表