找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 8995|回复: 2

[系统相关] wmic命令表达式表达非空

[复制链接]
发表于 2025-2-3 21:59:58 | 显示全部楼层 |阅读模式
本帖最后由 小白龙 于 2025-2-3 22:06 编辑

下面的表达式是gpt推理的, 十几轮下来都不能跑通, 应该是 DefaultIPGateway is not null 这个表达有误, 用ds推理改为了"IPEnabled=TRUE AND DefaultIPGateway<>'NULL'" 但仍跑不通, 求路过大佬支招
  1. wmic nicconfig where "IPEnabled=true and DefaultIPGateway is not null" get Description,IPAddress,IPSubnet,DefaultIPGateway /format:csv
复制代码
发表于 2025-2-4 00:14:29 | 显示全部楼层
本帖最后由 flashercs 于 2025-2-4 00:15 编辑

无解.DefaultIPGateway 是数组
不要用wmic,如果为了快,用jscript
因为 vbs/wmic 都快退休了
发表于 2025-2-7 09:32:38 | 显示全部楼层
  1. On Error Resume Next

  2. Dim objWMIService, colAdapters, objNetworkAdapter
  3. Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
  4. Set colAdapters = objWMIService.ExecQuery("SELECT Description, IPAddress, IPSubnet, DefaultIPGateway FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")

  5. For Each objNetworkAdapter In colAdapters
  6.     Dim message
  7.     message = "Description: " & objNetworkAdapter.Description & vbNewLine
  8.     If IsArray(objNetworkAdapter.IPAddress) Then
  9.         For Each ip In objNetworkAdapter.IPAddress
  10.             message = message & "IP Address: " & ip & vbNewLine
  11.         Next
  12.     ElseIf objNetworkAdapter.IPAddress <> "" Then
  13.         message = message & "IP Address: " & objNetworkAdapter.IPAddress & vbNewLine
  14.     End If
  15.     If IsArray(objNetworkAdapter.IPSubnet) Then
  16.         For Each subnet In objNetworkAdapter.IPSubnet
  17.             message = message & "IP Subnet: " & subnet & vbNewLine
  18.         Next
  19.     ElseIf objNetworkAdapter.IPSubnet <> "" Then
  20.         message = message & "IP Subnet: " & objNetworkAdapter.IPSubnet & vbNewLine
  21.     End If
  22.     If IsArray(objNetworkAdapter.DefaultIPGateway) Then
  23.         For Each gateway In objNetworkAdapter.DefaultIPGateway
  24.             message = message & "Default Gateway: " & gateway & vbNewLine
  25.         Next
  26.     ElseIf objNetworkAdapter.DefaultIPGateway <> "" Then
  27.         message = message & "Default Gateway: " & objNetworkAdapter.DefaultIPGateway & vbNewLine
  28.     End If
  29.     MsgBox message
  30. Next
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 15:10 , Processed in 0.016520 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表