0
我試圖將目錄中文件的所有子路徑分配給數組但不分配目錄。將父目錄中的所有子路徑分配給數組
我使用下面的命令:
$a = Get-ChildItem -path "C:\test\" -recurse | ?{!$_.PSIsContainer } | % { Write-Host $_.FullName }
的輸出被輸出到控制檯,而不是保存在變量。 任何想法的方式?
我試圖將目錄中文件的所有子路徑分配給數組但不分配目錄。將父目錄中的所有子路徑分配給數組
我使用下面的命令:
$a = Get-ChildItem -path "C:\test\" -recurse | ?{!$_.PSIsContainer } | % { Write-Host $_.FullName }
的輸出被輸出到控制檯,而不是保存在變量。 任何想法的方式?
僅顯示Write-Host
的控制檯輸出,不會返回。
您將需要一個變量先保存價值,那麼你就可以打印:
$a = Get-ChildItem -path "C:\test\" -recurse | ?{!$_.PSIsContainer };
$a | % { Write-Host $_.FullName }
它寫到控制檯的原因是因爲你說的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
不,輸出仍然發送到控制檯,並把它保存到變量 – cfircoo