使用PowerShell搜索多个文件夹以检查它们是否为空

时间:2016-04-19 20:12:18

标签: windows shell powershell scripting

我有一堆目录

C:\ RI1

C:\ RI2

C:\ RI3

... C:\ RI21

如何检查它们是否全部空?只有当一个或多个文件中有文件时,我才想进一步深入到脚本中。如果没有,我想退出。我试过这个,但它正在搜索文件夹名称,并给我21作为答案

$directoryInfo = Get-ChildItem C:\RI* | Measure-Object
$directoryInfo.count

if ($directoryInfo.count -eq 0)
{

    Write-host "Empty"
}

else
{
    Write-host "Not Empty"
}

1 个答案:

答案 0 :(得分:1)

当您运行Get-ChildItem C:\RI*时,您将获得C:\中的所有子项目,并使用以" RI"开头的项目过滤结果。你得到的答案是21,因为C:\中有21个文件夹以" RI"开头。

我建议您使用foreach循环遍历所有文件夹。

$folders = @("RI1", "RI2", "RI3")

foreach ($folder in $folders)
{
    $path = "C:\$folder"
    $directoryInfo = Get-ChildItem $path
    if ($directoryInfo.count -eq 0)
    {
        Write-Host "Empty"
    }
    else
    {
        Write-Host "Not Empty"
    }
}