我想做的事:
编写一个批处理脚本来执行以下循环,所有以“01-”开头的目录...检查“图片”文件夹是否为空。跳过其余文件夹如果“图片”文件夹为空,则打印空“图片”文件夹的路径。
输出示例:
MainFolder/01-Folder3/Pictures 为空
我的文件夹结构:
第 1 级...我的“主文件夹”中的每个东西 第 2 级...所有文件夹都以数字开头,例如:01、02、03 等... 第 3 级...有一个名为“图片”的文件夹...在每个第 3 级中,这里有一个例子:
|>MainFolder
|--->01-Folder1
|------->Pictures
|----------->pic.png
|----------->SubPicFolder
|------->RandomFolder1
|------->RandomFolder2
|--->01-Folder2
|------->Pictures
|----------->SubPicFolder
|------->RandomFolder1
|--->01-Folder3
|------->Pictures
|------->RandomFolder1
|--->02-Folder1
|------->Pictures
|------->RandomFolder1
|------->RandomFolder1
我尝试过什么?:
@echo off
for /d /r %%A in ("Pictur*") do (
dir /a /b "%%~fA" 2>nul | findstr "^" >nul || echo %%~fA
)
pause
我尝试过的问题:
此代码确实打印了所有空的“图片”文件夹,但问题是它检查了所有文件夹。我只想检查以“01-”开头的文件夹和子文件夹“图片”。跳过其余部分。
答案1
for dirname in `find ./ -type d | grep Pictures`; do if [ $(find $dirname -type f|wc -l) -eq 0 ]; then echo "$dirname is empty"; fi; done
将 find ./ 替换为 find $RootDir 进行搜索。