救命 批处理判断文本里每一行IP是否与本机IP相符,如果不相符则执行另外的命令
发布网友
发布时间:2022-04-23 14:36
我来回答
共2个回答
热心网友
时间:2023-10-18 20:04
@echo off
for /f "tokens=2 delims=:" %%a in ('ipconfig /all ^| findstr /i /c: "IP Address"') do (
set ipaddress=%%a
)
findstr "%ipaddress%" "a.txt">nul && goto 2
:1
echo 此IP非法!
pause
goto next
:2
BarClient.exe
exit
:next
exit
::纠错两处:1.这里可以不用变量延迟;2.其实你的代码错了关键的部分,第5行,||因该改为&&;
热心网友
时间:2023-10-18 20:04
不清楚本机IP是否为局域网IP,这里是以在命令行输入ipconfig命令显示有IP Address的行(如有多个取最后列出的)的IP
@echo off
set fn=a.txt
for /f "tokens=2 delims=:" %%i in ('ipconfig^|findstr/ic:"IP Address"')do set IP=%%i
for /f "delims=" %%j in ('type "%fn%"^|find/v "%IP:~1%"')do (
:::这里写另外的命令:::
)
pause
呵呵,我看强调每一行,还以为针对文本里每一行都要执行命令呢, 那就没啥说的
热心网友
时间:2023-10-18 20:04
@echo off
for /f "tokens=2 delims=:" %%a in ('ipconfig /all ^| findstr /i /c: "IP Address"') do (
set ipaddress=%%a
)
findstr "%ipaddress%" "a.txt">nul && goto 2
:1
echo 此IP非法!
pause
goto next
:2
BarClient.exe
exit
:next
exit
::纠错两处:1.这里可以不用变量延迟;2.其实你的代码错了关键的部分,第5行,||因该改为&&;
热心网友
时间:2023-10-18 20:04
不清楚本机IP是否为局域网IP,这里是以在命令行输入ipconfig命令显示有IP Address的行(如有多个取最后列出的)的IP
@echo off
set fn=a.txt
for /f "tokens=2 delims=:" %%i in ('ipconfig^|findstr/ic:"IP Address"')do set IP=%%i
for /f "delims=" %%j in ('type "%fn%"^|find/v "%IP:~1%"')do (
:::这里写另外的命令:::
)
pause
呵呵,我看强调每一行,还以为针对文本里每一行都要执行命令呢, 那就没啥说的