我試圖查看Robocopy的解決方案是否比使用Get-ChildItem
獲取給定文件夾(和子文件夾...)內的文件列表的速度更快。獲取Robocopy的文件列表
在我的代碼我使用的Get-ChildItem
cmdlet來獲取特定的文件夾內的所有文件的列表,以循環的每個文件:
$files = Get-ChildItem "C:\aaa" -Recurse | where {! $_.PIsContainer} # ! because I don't want to list folders
foreach ($file in $files){
...
}
現在,我有ROBOCOPY命令獲取所有文件的列表,但是,robocopy的輸出是一個字符串。
[string]$result = robocopy "C:\aaa" NULL /l /s /ndl /xx /nc /ns /njh /njs /fp
那麼,我該如何使用從Robocopy命令循環輸出上的每個文件(類似於與Get-ChildItem
?
您使用的是什麼版本的PowerShell?如果它是3.0或以上,你可以刪除'where {! $ _。PSIsContainer}'只需執行'$ files = Get-ChildItem「C:\ aaa」-Recurse -File'來檢索文件,這可能會提高性能。 – BACON 2015-02-05 21:55:05
@BACON,我正在使用2.0。 – 2015-02-06 19:06:01