2014-10-17 31 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 

还是我失去了在这个问题的东西吗?

相关问题