2014-10-17 34 views
1

我正在尋找與GCI -recurse的洞硬盤,之後我正在處理結果... 我該怎麼做,讓控制檯告訴我它仍然活? 像GCI C:\ -recurse布拉布拉.... |每2分鐘寫 - 主機「我還在尋找」Powershell控制檯告訴主機它仍然活着

編輯:

$File = Get-ChildItem $Path -Recurse -ErrorAction SilentlyContinue 
| where {$_.PsIsContainer -eq $false -and $_.CreationTime -le "$OldDate"} 
| select -Property name,Fullname 
| write-progress -activity "Searching..." -Status "Please wait..." -percentcomplete ??? 

$路徑有很多的文件和文件夾,將需要一些天完成此任務 如何計算percentcomplete?如果我使用count,它會先計算所有項目?! 這也將是好的,如果它計算文件着手,如:

if($countfiles -ge "10000") 
{write-Host "Still working, currently $_"} 
else {$countfiles=$countfiles+1} 
+0

這不會是容易的,PowerShell的將嘗試很多加載到內存,您可以通過任務管理器監視做更換。最好排除一些修改或分割進程以獨立地抓取您的文件夾 – RayofCommand 2014-10-17 13:51:04

+0

取決於您正在做什麼。如果你將輸出存儲到一個變量中,那麼會消耗大量內存。如果您使用管道並立即丟棄輸出,那麼它可能會佔用較少的內存。 – 2014-10-17 14:38:26

+0

或者您可以將其作爲工作啓動,並且每隔一段時間執行一次Get-Job以查看它是否仍在運行。 – 2015-09-09 21:59:19

回答

1

這會寫狀態消息並將子項傳遞給管道。寫主機可以與任何處理你真的想與孩子項目

get-childitem -recurse| %{write-progress -Status $_ -Activity "Trawling...";$_} | %{write-host $_} 
0
Get-ChildItem C:\ -recurse -verbose 

還是我失去了在這個問題的東西嗎?

相關問題