2015-10-16 77 views
0

我試圖將目錄中文件的所有子路徑分配給數組但不分配目錄。將父目錄中的所有子路徑分配給數組

我使用下面的命令:

$a = Get-ChildItem -path "C:\test\" -recurse | ?{!$_.PSIsContainer } | % { Write-Host $_.FullName } 

的輸出被輸出到控制檯,而不是保存在變量。 任何想法的方式?

回答

0

僅顯示Write-Host的控制檯輸出,不會返回。

您將需要一個變量先保存價值,那麼你就可以打印:

$a = Get-ChildItem -path "C:\test\" -recurse | ?{!$_.PSIsContainer }; 
$a | % { Write-Host $_.FullName } 
+0

不,輸出仍然發送到控制檯,並把它保存到變量 – cfircoo

2

它寫到控制檯的原因是因爲你說的Write-Host。如果您改用Write-Output,它將保存到變量中。

$a = Get-ChildItem -path "C:\test\" -recurse | ?{!$_.PSIsContainer } | % { Write-Output $_.FullName } 

或者嘗試使用「Select-Object」而不是寫主機。

它應該是這樣的:

$a = Get-ChildItem -path "C:\test\" -recurse | ?{!$_.PSIsContainer } | select-object -expand FullName 
相關問題