Vérifier si un type de fichiers existe dans un répertoire en utilisant le script de traitement par lots

<!-Je cherche à écrire un fichier batch pour vérifier s'il y a des fichiers de n'importe quel type dans un dossier donné.

<!-Jusqu'à présent j'ai essayé ce qui suit

if EXIST FOLDERNAME*.* ( echo Files Exist ) ELSE ( echo "Empty" ) 

je peux le faire fonctionner si je sais que l'extension du fichier comme un fichier txt avec le follwing

if EXIST FOLDERNAME*.txt ( echo Files Exist ) ELSE ( echo "Empty" )

Merci pour votre aide

24
demandé sur Bali C 2012-05-30 13:54:27

3 réponses

Pour vérifier si un dossier contient au moins un fichier

>nul 2>nul dir /a-d "folderName\*" && (echo Files exist) || (echo No file found)

Pour vérifier si un dossier ou un de ses descendants contenir au moins un fichier

>nul 2>nul dir /a-d /s "folderName\*" && (echo Files exist) || (echo No file found)

Pour vérifier si un dossier contient au moins un fichier ou un dossier.

Remarque: l'ajout de /a option pour activer la recherche de fichiers/dossiers cachés et système.

dir /b /a "folderName\*" | >nul findstr "^" && (echo Files and/or Folders exist) || (echo No File or Folder found)

Pour vérifier si un dossier contient au moins un dossier

dir /b /ad "folderName\*" | >nul findstr "^" && (echo Folders exist) || (echo No folder found)
35
répondu dbenham 2012-05-30 19:44:33

Pour les fichiers dans un répertoire, vous pouvez utiliser des choses comme:

if exist *.csv echo "csv file found"

ou

if not exist *.csv goto nofile
10
répondu Maikel 2015-12-15 10:06:08

Vous pouvez utiliser ce

@echo off
for /F %%i in ('dir /b "c:\test directory\*.*"') do (
   echo Folder is NON empty
   goto :EOF
)
echo Folder is empty or does not exist

Pris ici.

cela devrait faire ce dont vous avez besoin.

5
répondu Bali C 2012-05-30 10:03:04