小组,第一次发布问题,所以请耐心等待。尝试使用Powershell读取1个.csv文件,并在第二个.csv中搜索与我从第一个.csv文件传递的内容相关的特定数据。可以说,这两个文件都包含一个标题为“ name”的列,该列中包含PC名称列表。另外,第二个CSV文件有一列标题为“ id”的标题,其中包含与该PC名称相关联的唯一ID(为了使事情复杂,可能会有重复的PC名称,但每个PC名称都有一个唯一ID)。我想遍历第一个.csv文件中的所有PC名称,在第二个.csv文件中搜索该PC名称的对应唯一ID,然后将其设置为变量,以便可以对其执行一些操作。下面的代码是我到目前为止所拥有的,我手动提供了PC名称,因为我似乎无法获得第一个文件的内容并将其传递给第二个文件。它将获得唯一的ID,但我似乎无法将其放入变量。任何帮助,将不胜感激。
$computer = "T4763110"
$csv = Import-Csv "C:\Devices.csv"
$csv | Where-Object { $_.name -eq $computer } | % id
第一个CSV文件第一个CSV文件
第二个CSV文件第二个CSV文件
你忘了指定> Delimiter
<你的import-csv
。使用基本的Microsoft编辑器打开.csv文件时,可以查找定界符。我的看起来像这样:
ID;Name
1;Alienware
2;Lexware
3;One
4;Chip
5;Stack
6;Linux
我为自己创建了一个名为dev.csv的新表,其内容如下:
执行此代码时:
> $csv = Import-Csv "C:/Users/Desktop/dev.csv" -Delimiter ';'
> $csv
输出:
ID Name
-- ----
1 Alienware
2 Lexware
3 One
4 Chip
5 Stack
6 Linux
然后执行:
> $csv | where-object {$_.name -eq "Alienware"} | % id
1
要将其保存为变量,只需将其放在方括号中即可。
> $idvar = ($csv | where-object {$_.name -eq "Alienware"} | % id)
> $idvar
1
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句