以下是我的代码,用于读取.msi扩展名的文件名目,其中$ to = C:\ bob
$listOfMSIs = Get-ChildItem –Path $to -Filter "*.msi"
运行上面一行后,Variable $ listOfMSIs会有这样的内容
Directory: C:\bob
Mode Last Write Time Length Name
---- ------------- ------ ----
-a--- 09/01/2014 12:18 237568 a.msi
-ar-- 03/06/2013 17:54 3813376 b.msi
-ar-- 29/05/2013 14:41 2326528 c.msi
现在我要做的是获取内容(名称列中的msi文件名)并将其存储为 一个数组。
有人有任何建议吗? 提前致谢
答案 0 :(得分:3)
如果您正在运行PowerShell v3或更高版本,请执行以下操作:
$FileNames = (Get-ChildItem –Path $to -Filter "*.msi").Name;
答案 1 :(得分:3)
这应该这样做:
$filenames = Get-ChildItem $to *.msi | Foreach Name
或者如果在V2或V1上:
$filenames = Get-ChildItem $to *.msi | Foreach {$_.Name}
答案 2 :(得分:3)
您可以将结果传递给Select-Object
:
$listOfMSIs = Get-ChildItem –Path $to -Filter "*.msi" | Select-Object -ExpandProperty Name
当然,以上内容可以简化为:
$listOfMSIs = Get-ChildItem $to *.msi | Select-Object -Expand Name