簡體   English   中英

使用Powershell刪除空文件夾

[英]Removing Empty Folders Using Powershell

我有以下腳本,用於從具有許多子目錄的超大型目錄中遠程所有空文件夾。 當我在測試環境(即C:\\ Test)中使用它時,它包含空的文件夾,一些僅包含文件的文件夾,一些僅包含文件夾的文件夾,一些同時包含文件和文件夾的文件夾,在那里它可以完美地工作。 但是,當我在大型目錄上使用它時,它仍然詢問我是否要刪除一些帶有子項的文件夾。 我希望它刪除空文件夾,而忽略包含子項的文件夾。 對我在這里做錯的任何想法嗎?

function removeEmptyItems($inst)
{
    $testInst = (($inst.FullName) + '\' + "*")
        if(($inst.PSIsContainer) -eq $true)
            {
                if((Get-Item -Path ($testInst) -ErrorAction SilentlyContinue -Force) -eq $null)
                    {
                        Remove-Item -LiteralPath ($inst.FullName) -Force
                    }
            }
}

# Change The Value For Set-Location To Wherever You Want To Trim
Set-Location "\\server\folder\subfolder"
Get-ChildItem -ErrorAction SilentlyContinue -Recurse | 
%{ foreach ($inst in $_) { removeEmptyItems ($inst) } }

謝謝您能給我的幫助,

ps:如果您不想提供幫助並且不想投票,請不要發表評論,並告訴我您為什么會有這種感覺,這樣我可以變得更好並且我的問題可以得到解決。 謝謝。

在這里,這將清除沒有確認的空目錄:

gci $Path -force -recurse|
    Where{$_.psiscontainer -and (gci $_.FullName -force -recurse|?{!$_.psiscontainer}).count -eq 0}|
        Remove-Item -Recurse -force

該操作僅查找文件夾,然后檢查每個文件夾是否包含文件,如果其中有0個文件,則遞歸刪除該文件夾及其中的所有子文件夾。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM