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

[文本处理] 【已解决】批处理for /f do (if)怎么样才可以按if语句的执行顺序显示?

怎么样才可以按if语句的执行顺序显示?还有去掉空行啊?
  1. @echo off
  2. set apath="E:\Mydata\%Username%\Desktop\ip地址.txt"
  3. for /f "tokens=1,2,3 delims=={,}" %%a in ('wmic NICCONFIG where "IPEnabled='TRUE' and DHCPEnabled='TRUE'" get Description^,MacAddress^,DefaultIPGateway^,DNSServerSearchOrder^,IPAddress^,IPSubnet /value^|findstr "="') do (
  4.                 if "%%a"=="Description" (echo;网卡名称=%%~b>>1.txt
  5.                ) else if "%%a"=="IPAddress" (echo;IP地址=%%~b>>1.txt
  6.                ) else if "%%a"=="IPSubnet" (echo;子网掩码=%%~b>>1.txt
  7.                ) else if "%%a"=="DefaultIPGateway" (echo;默认网关=%%~b >>1.txt
  8.                ) else if "%%a"=="DNSServerSearchOrder" (echo;DNS1=%%~b>>1.txt&echo;DNS2=%%~c>>1.txt
  9.                ) else if "%%a"=="MACAddress" (echo;MAC地址=%%~b>>1.txt)
  10. )
  11. pause
复制代码

回复 2# Batcher

您好,大佬,感谢回复,已经测试过了,无论怎么调整get的顺序,显示的结果都是一样。以下是显示的内容:
  1. 默认网关=192.8.29.254
  2. 网卡名称=Intel(R) Dual Band Wireless-AC 8265
  3. DNS1=114.114.114.114
  4. DNS2=8.8.8.8
  5. IP地址=192.8.29.36
  6. 子网掩码=255.255.255.0
  7. MAC地址=40:74:E0:49:05:52
  8. 默认网关=192.8.29.254
  9. 网卡名称=Intel(R) Ethernet Connection (4) I219-V
  10. DNS1=114.114.114.114
  11. DNS2=8.8.8.8
  12. IP地址=192.8.29.41
  13. 子网掩码=255.255.255.0
  14. MAC地址=98:FA:9B:E2:DB:B9
复制代码

TOP

本帖最后由 uranus12 于 2020-11-18 14:03 编辑

回复 4# WHY
大佬,历害啊!另外能否两张网卡之间隔一个空行呢?谢谢
  1. 网卡名称=Intel(R) Dual Band Wireless-AC 8265
  2. IP地址=192.8.29.36
  3. 子网掩码=255.255.255.0
  4. 默认网关=192.8.29.254
  5. DNS1=114.114.114.114
  6. DNS2=8.8.8.8
  7. MAC地址=40:74:E0:49:05:52
  8. 网卡名称=Intel(R) Ethernet Connection (4) I219-V
  9. IP地址=192.8.29.41
  10. 子网掩码=255.255.255.0
  11. 默认网关=192.8.29.254
  12. DNS1=114.114.114.114
  13. DNS2=8.8.8.8
  14. MAC地址=98:FA:9B:E2:DB:B9
复制代码

TOP

回复 6# Batcher


   感谢老大,现在完美搞定了,谢谢!!!

TOP

返回列表