2015-01-12 34 views
0

任何人都可以幫助我使用PowerShell腳本please.I在線搜索,不能得到一個準確的答案。 我需要一個腳本,它將刪除文件夾中的所有文件,並使用擴展名爲.stat的過濾器,並且所有這些文件都小於500bytes。如果腳本可以先給我所有文件和文件數量刪除,然後再用的命中進入它會刪除所有文件PowerShell以遞歸方式在目錄中刪除小於500字節的文件

回答

3

這是相當直截了當以Get-Childitem出發,幫助了位置對象和foreach-對象:

$path = 'some path defined here' 
Get-ChildItem $path -Filter *.stat -recurse |?{$_.PSIsContainer -eq $false -and $_.length -lt 500}|?{Remove-Item $_.fullname -WhatIf} 

取出-whatif一次你已經測試過,以確保代碼刪除你想要的文件。

+0

萬分感謝,似乎工作的第1次。 – user1702369

0

如果您有大量的子文件夾進行遞歸,那麼您可能需要爲Get-ChildItem嘗試使用-file開關,因爲使用文件系統提供程序進行篩選比使用Where-Object更有效。

Get-ChildItem $path -Filter *.stat -recurse -file | ? {$_.length -lt 500} | % {Remove-Item $_.fullname -WhatIf}

0

簡單的解決辦法:

ls | where {$_.Length -lt .0.0005mb} | Remove-Item -Force-Recurse