我的問題是使用Powershell。 我有一個非常大的文件夾。內幕人士約有1 600 000個子文件夾。 我的任務是清除超過6個月的所有空文件夾或文件。 我寫了用foreach循環,但PowerShell和它開始之前,需要年齡 - >使用Powershell檢查很多文件夾
...
foreach ($item in Get-ChildItem -Path $rootPath -recurse -force | Where-Object -FilterScript { $_.LastWriteTime -lt $date })
{
# here comes a script which will erase the file when its older than 6 months
# here comes a script which will erase the folder if it's a folder AND does not have child items of its own
...
的問題:我的內部存儲空間已滿(4GB)我不能正常工作了。 我的猜測:PowerShell加載所有1 600 000個文件夾,只有在它開始過濾它們。
有沒有可能防止這種情況發生?
謝謝我只是在較小的環境中測試它。 (106 000個文件夾) 我的原始sk took大約需要73s。 隨着你的修改(簡化)它只需要我51秒。 謝謝! – user1660311
哦,內存問題似乎也解決了:) – user1660311