从列表文件中远程获取序列号和型号并将其导出到安排excel
Remotely get serial number and model from list file and export it to arranged excel
我看到了一个不错的脚本 Here - 此代码从远程计算机列表中获取序列号和型号并将其导出到 csv 文件。
唯一的问题是,导出结果有许多单独的行,而不是每台计算机 ONE 行。
我是说,我想得到这个:
但我明白了:
我也检查了 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
循环中。虽然我们可以在不设置变量的情况下完成此操作,但在本例中它使其更具可读性。
我看到了一个不错的脚本 Here - 此代码从远程计算机列表中获取序列号和型号并将其导出到 csv 文件。 唯一的问题是,导出结果有许多单独的行,而不是每台计算机 ONE 行。
我是说,我想得到这个:
但我明白了:
我也检查了 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
循环中。虽然我们可以在不设置变量的情况下完成此操作,但在本例中它使其更具可读性。