我有一堆目录
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"
}
答案 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"
}
}