如何解决从列表文件中远程获取序列号和型号并将其导出到已安排的Excel
我看到了一个不错的脚本Here-此代码从“远程计算机”列表中获取序列号和型号并将其导出到csv文件。 唯一的问题是,导出结果具有许多分隔行,而不是每台计算机一个行。
我的意思是,我想得到这个:
但是我明白了
我也检查了Here,但无法按照说明进行操作。
这里是批处理代码:
@echo off
del list.csv 2>nul
for /f %%i in (pclist.txt) do (
for /f "tokens=2 delims==" %%M in ('wmic /node:"%%i" csproduct get name /value') do for %%m in (%%M) do (
for /f "tokens=2 delims==" %%S in ('wmic /node:"%%i" bios get serialnumber /value') do for %%s in (%%S) do (
>>list.csv echo %%i,%%s,%%m
)
)
)
type list.csv
pause
我如何将结果导出到每台计算机的一行(显示SN和型号)?
解决方法
您可以尝试一下。
@echo off
break>list.csv
for /f "delims=" %%i in (pclist.txt) do call :method %%~i
type list.csv
goto :eof
:method
set "host_name=%~1"
for /f "tokens=2* delims==" %%N in ('wmic /node:"%~1" csproduct get name /value') do set "name=%%N"
for /f "tokens=2* delims==" %%S in ('wmic /node:"%~1" bios get serialnumber /value') do set "serial=%%S"
(echo %host_name%,%serial%,%name%)>>list.csv
我们只获得一次每个值,因为我们没有在for
循环中合并for
循环。尽管我们可以在不设置变量的情况下完成此操作,但在这种情况下,它使其更具可读性。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。