gpt4 book ai didi

powershell - 如何使用批处理或 PowerShell 脚本遍历 CSV 文件?

转载 作者:行者123 更新时间:2023-12-04 10:27:57 24 4
gpt4 key购买 nike

我有一个包含两个不同列的 CSV 文件,一个是 PC 名称,另一个是 MAC 地址,如下所示:

PCxxxx 00-11-22-33-44-55
...
...

这些值应放入以下 ​​CLI 命令中:
wdsutil /Set-Device /Device:PCxxxx /ID:00-11-22-33-44-55

现在因为大约有 200 个,我想自动化这个。

有趣的是,可以用批处理来做到这一点吗?会很复杂吧?我想到了数组,但不要认为可以批量执行此操作。

也许使用 PowerShell 会容易一些。

最佳答案

在批处理文件中:

for /f "tokens=1,2 delims= " %%a in (foo.csv) do (
wdsutil /Set-Device /Device:%%a /ID:%%b
)

实际上,您可以将其作为 cmd 的单行代码来执行。直接地:
for /f "tokens=1,2 delims= " %a in (foo.csv) do wdsutil /Set-Device /Device:%a /ID:%b

在 PowerShell 中,您可以使用类似的想法:
Get-Content foo.csv | ForEach-Object {
$name,$mac = -split $_
wdsutil /Set-Device /Device:$name /ID:$mac
}

或者使用 CSV 导入 cmdlet,但鉴于您的问题,您似乎没有列标题,因此您需要手动提供它们:
Import-CSV -Delim ' ' -Path foo.csv -Header Name,Mac | ForEach-Object {
wdsutil /Set-Device "/Device:$($_.Name)" "/ID:$($_.Mac)"
}

关于powershell - 如何使用批处理或 PowerShell 脚本遍历 CSV 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10329804/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com