【问题标题】:Identify Empty Folders识别空文件夹
【发布时间】:2015-11-19 20:11:33
【问题描述】:

我想在我们的用户配置文件中标识一个特定的空文件夹。

我有一个文本文件,其中包含我希望脚本引用的所有用户名。该脚本将循环每个用户目录并输出到文件或屏幕并说明目录是否为空。隐藏文件不用计算!

类似的东西

FOR /F %U IN (C:\UserList\UserList.TXT) DO *Find and List Empty Folder* \\Server\Share\%U\Target_Folder

欢迎使用 Powershell 解决方案!

【问题讨论】:

    标签: powershell batch-file


    【解决方案1】:

    Technet 上的This article 提供以下 Powershell 代码 sn-p 来识别所有空文件夹:

    $a = Get-ChildItem C:\Scripts -recurse | Where-Object {$_.PSIsContainer -eq $True}
    $a | Where-Object {$_.GetFiles().Count -eq 0} | Select-Object FullName
    

    将“C:\Scripts”替换为您要搜索的根文件夹。

    更新:

    以下脚本将带您进入球场。

    $content = Get-Content C:\Temp\FolderList.txt
    foreach ($line in $content)
    {
        Write-Host $line -NoNewline
        $testObject = Test-Path -Path $line
        if ($testObject)
        {
            $folder = Get-Item -Path $line
            $filesCount = $folder.GetFiles().Count
            if ($filesCount.Equals(0))
            {
                Write-Host " - Empty folder"
            }
            else
            {
                Write-Host " - Contains files"
            }
        }
        else
        {
            Write-Host " - Invalid path"
        }
    
    }
    

    【讨论】:

    • 谢谢博克。我之前看到了这个 sn-p,它将列出根目录中的所有空文件夹。这很好,但我想更具体一点,并在每个用户配置文件中定位一个文件夹
    • 工作愉快。但是,$Folder.Getfiles().Count 语句是否计算隐藏文件?
    • 文档没有说。应该很容易测试吗? :-) 如果计算隐藏文件,Get-ChildItem 似乎提供了更多过滤选项。稍后我会检查它,如果找到答案,我将更新代码 sn-p。
    猜你喜欢
    • 2012-12-05
    • 2011-07-29
    • 1970-01-01
    • 2021-12-10
    • 1970-01-01
    • 1970-01-01
    • 2015-01-13
    • 2021-07-01
    • 1970-01-01
    相关资源
    最近更新 更多