web-dev-qa-db-fra.com

Vérifiez si un type de fichier existe dans un répertoire à l'aide du script BATCH

Bonjour, je cherche à écrire un fichier batch pour vérifier s'il y a des fichiers de tout 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 connais l'extension de fichier telle qu'un fichier txt avec le follwing

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

Merci de votre aide

30
psycho

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 l'un de ses descendants contient 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.
Notez l'ajout de /a option pour permettre 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)
41
dbenham

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

if exist *.csv echo "csv file found"

ou

if not exist *.csv goto nofile
9
Maikel

Vous pouvez utiliser ceci

@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

Tiré de ici .

Cela devrait faire ce dont vous avez besoin.

6
Bali C