【发布时间】:2018-07-11 07:06:00
【问题描述】:
我被要求编写一个程序,询问网络中的所有打印机名称、位置和 CMYK 墨粉(剩余多少百分比)。所以我从 OID 开始,只在一台打印机上尝试过。这行得通。然后我编写了一个 .bat 文件,其中包含我必须执行的所有查询。我为所有 97 台打印机制作了一个阵列。因为我会在代码行中使用数组,所以没有任何效果。在我看来,Codeline 不接受该数组。我搜索了所有内容并尝试了所有内容,但没有任何效果,所以我想问你我的问题是什么。我也想把它写在一个 .txt 文件中。
我的代码:
@echo off
setlocal enableDelayedExpansion
SET count=0
SET a[0]= 172.22.10.3
SET a[1]= 172.22.10.2
SET a[2]= 172.22.10.1
SET a[3]= 172.22.10.5
snmpwalk -v2c -c public %a[%count%]% 5 1.3.6.1.2.1.25.3.2.1.3.1
>>C:\Temp\Drucker.txt
//Printer Name
snmpwalk -v2c -c public %a[%count%]% 1.3.6.1.2.1.1.6 >>C:\Temp\Drucker.txt
//Printer Location
snmpwalk -v2c -c public %a[%count%]% 1.3.6.1.2.1.43.11.1.1.9.1.4
>>C:\Temp\Drucker.txt
//Black Toner
snmpwalk -v2c -c public %a[%count%]% 1.3.6.1.2.1.43.11.1.1.9.1.1
>>C:\Temp\Drucker.txt
//Cyan Toner
snmpwalk -v2c -c public %a[%count%]% 1.3.6.1.2.1.43.11.1.1.9.1.2
>>C:\Temp\Drucker.txt
//Magenta Toner
snmpwalk -v2c -c public %a[%count%]% 1.3.6.1.2.1.43.11.1.1.9.1.3
>>C:\Temp\Drucker.txt
//Yellow Toner
endlocal
图片显示我启动 .bat 文件时出现的错误消息。
【问题讨论】:
标签: arrays batch-file snmp oid