como loopar sub pasta para verificar se a pasta está vazia - script em lote?

2

O que eu quero fazer:

escreva um script em lote para fazer o seguinte loop embora todos dir começando com "01 -" ... Verifique se a pasta "Pictures" está vazia ou não. pule pastas de descanso Se a pasta "Imagens" estiver vazia, do que o caminho de impressão das pastas "Imagens" vazias.

Exemplo de saída:

MainFolder / 01-Folder3 / Pictures está vazio

Estrutura da minha pasta:

1st lvl ... Tudo dentro da minha "MainFolder" 2º lvl ... todas as pastas começam com um número ex: 01, 02, 03, etc ... 3º lvl ... Existe pasta chamada "Fotos" ... em todo 3º lvl aqui está um exemplo:

|>MainFolder 
|--->01-Folder1
|------->Pictures
|----------->pic.png
|----------->SubPicFolder
|------->RandomFolder1
|------->RandomFolder2
|--->01-Folder2
|------->Pictures
|----------->SubPicFolder
|------->RandomFolder1
|--->01-Folder3
|------->Pictures
|------->RandomFolder1
|--->02-Folder1
|------->Pictures
|------->RandomFolder1
|------->RandomFolder1

O que eu tentei?

@echo off
for /d /r %%A in ("Pictur*") do (
    dir /a /b "%%~fA" 2>nul | findstr "^" >nul || echo %%~fA
)
pause

Problema com o que tentei:

Este código imprime toda a pasta "Pictures" vazia, mas o problema é que ela verifica toda a pasta. Eu só quero verificar pasta começando com "01-" e subpasta "Pictures". pule o resto.

    
por mark 16.11.2016 / 17:52

1 resposta

0

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

Substitua find ./ pelo find $ RootDir para sua pesquisa.

    
por 16.11.2016 / 19:06