2014-01-13 41 views
2

继是我的代码的.msi extention读取目录的文件名,其中$为= C:\鲍勃从目录中读取的MSI文件列表,并将其保存在阵列

$listOfMSIs = Get-ChildItem –Path $to -Filter "*.msi" 

运行后上面一行,变量$ 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文件名从名称列),并将其存储为 数组。

任何人有任何建议吗? 在此先感谢

回答

3

如果你正在运行的PowerShell v3的或更高版本,只要做到这一点:

$FileNames = (Get-ChildItem –Path $to -Filter "*.msi").Name; 
+0

你能真正做到像这样在PowerShell中?你会得到什么 - 一个String数组? – Neolisk

+0

是的,一串字符串。亲自尝试一下。 –

+1

是的,我得到了什么,我正在使用Powershell V3。谢谢Trevor – Sike12

3

这应做到:

$filenames = Get-ChildItem $to *.msi | Foreach Name 

或者如果V2或V1:

$filenames = Get-ChildItem $to *.msi | Foreach {$_.Name} 
+0

谢谢基思回答 – Sike12

3

您可以将结果传送至Select-Object

$listOfMSIs = Get-ChildItem –Path $to -Filter "*.msi" | Select-Object -ExpandProperty Name 

当然,上面可以简化为:

$listOfMSIs = Get-ChildItem $to *.msi | Select-Object -Expand Name 
+0

谢谢iCodez。 – Sike12

相关问题