我与一家为公司重新利用笔记本电脑的公司合作,我们每笔订单的订单约为20-100台笔记本电脑。在我们翻新笔记本电脑本身后,我们在它们上面安装了全新的图像,但是我们在编写自动命名脚本时遇到了问题。我的任务是找到一个可以执行以下操作的脚本:
编写一个带有名称和序列号的大型电子表格文件比在CMD提示符中键入每个新名称并单独重新启动每台计算机要容易得多。
到目前为止,我有以下脚本将序列号用作变量,如果需要:
for /f "skip=1 delims=" %%J in ('wmic bios get serialnumber') do (set serial=%%J
Goto :done)
:done
我们有了这个脚本后,输入%serial%输入特定于该计算机的序列号。
我也知道以下脚本将使用变量作为新名称重命名计算机:
wmic computersystem where caption='%computername%' rename %variable%
%variable%是我们希望在电子表格中找到的变量。我只是不知道如何找到可以在电子表格中找到的新变量(新计算机名称)。任何帮助将不胜感激。
答案 0 :(得分:0)
以下是我用于解决问题的代码。
for /f "tokens=2 delims==" %%J in ('wmic bios get serialnumber /value') do set serial=%%J
Find /I "%serial%" {Location of file} > {Location of confirmation file}
For /f "tokens=1,2* delims=," %%G in ({Location of confirmation file}) do set HN=%%H
wmic computersystem where caption='%computername%' rename %HN%`
看起来很复杂,但通过文本行,他们会执行以下操作:
1)从bios中找到序列号
2)在CSV文件中查找该行并将整行输出到文本文档
3)将文本文档中的所需名称设置为变量
4)将计算机名重命名为此所需的变量名称