Script .bat pour lister des fichiers

arkard Messages postés 19 Statut Membre -  
arkard Messages postés 19 Statut Membre -
Bonjour,

J'essaie de faire un script sur un serveur windows qui me remonte le nombre de fichiers dans un dossier :
J'ai la commande principale : dir "chemin" /A-D /B /S /Q | find "." /C

Et le système de remontée d'erreur que j'essaie de mettre en place est à peu près comme cela :
:err
echo CRITICAL: File Number too big
exit /B 1
:unknown
echo UNKNOWN: Something went wrong
exit /B 3
:ok
echo OK: File Number OK
exit /B 0

Mon problème est que je veux un retour CRITICAL s'il y a plus de 5 fichiers dans ce répertoire et que la plupart du temps il n'y a pas de fichiers dans ce répertoire (ce qui est normal car s'il y'en a beaucoup c'est qu'une appli fonctionne mal).

La commande me remonte également souvent un "Fichier introuvable" mais je veux uniquement la sortie 0.

Quelqu'un peut-il m'aiguiller ?

Merci d'avance.

A voir également:

6 réponses

dubcek Messages postés 19032 Date d'inscription   Statut Contributeur Dernière intervention   5 641
 
hello
tester %ERRORLEVEL% puisque si dir retourne Fichier introuvable
%ERRORLEVEL% vaut 1, sinon 0
0
arkard Messages postés 19 Statut Membre
 
En fait il me répond fichier introuvable et 0 en dessous (donc la bonne réponse) et sinon il me répond 1, 2, etc... Ce que je veux c'est avoir OK si 0-5 et CRITICAL si > 5. Dans ce cas comment intégrer l'ERRORLEVEL ?
0
dubcek Messages postés 19032 Date d'inscription   Statut Contributeur Dernière intervention   5 641
 
essayer
@ echo off
set chemin=chemin
for /f %%a in ('dir "%chemin%" /A-D /B /S /Q 2^>NUL ^| find "" /V /C') do (
	if %%a GTR 5 (
		echo CRITICAL
	) else (
		echo OK
	)
)
0
arkard Messages postés 19 Statut Membre
 
Bonjour,

Merci de votre réponse. Mais j'ai l'impression que ma commande dir ne marche pas en fait, j'ai en effet copié 3 fichiers texte dans le dossier et il me répond toujours 1 ou 0. Je vais essayer de trouver une autre commande pour compter le nombre de fichiers dans un répertoire.

La commande ne doit pas être bonne, la boucle if du script devrait marcher par contre.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dubcek Messages postés 19032 Date d'inscription   Statut Contributeur Dernière intervention   5 641
 
j'ai changé le find : find "" /V /C
0
arkard Messages postés 19 Statut Membre
 
Oui j'ai vu en fait ça a l'air bon, je teste et vous redit ça. Merci en tout cas.
0
arkard Messages postés 19 Statut Membre
 
C'est bon ça fonctionne, merci beaucoup. Le 2^>NUL ^ permet de supprimer l'entrée "Fichier introuvable" ?
0