2012-11-15 1 views
1

J'essaie de développer un programme batch Windows où si une erreur comme The system cannot find the drive specified. ou The system cannot find the path specified. vient, alors le fichier "fld_chk.out" peut être vérifié et la boucle peut arriver.comment capturer des erreurs standard comme "Le système ne peut pas trouver le lecteur spécifié." ou "Le système ne peut pas trouver le chemin spécifié." dans un script batch

Mais cd A: \ rr \ Br> fld_chk.out ne capture pas ces erreurs.

comment faire pour y capturer des erreurs standard?

Mon code est comme ceci: -

cd A:\rr\Br>fld_chk.out 
cd B:\yy\dd>>fld_chk.out 
find /c "The system cannot find" *.out>fld_count_check_1.out 
find /c "0" fld_count_check_1.out>fld_count_check_2.out 
FOR /F "TOKENS=1* DELIMS=:" %%B IN (fld_count_check_2.out) DO SET b=%%C 
set _count=%b% 
IF %_count% EQU 2 goto Success 
IF not %_count% EQU 2 goto notSuccess 
:Success 
echo folder found 
:notSuccess 
echo folder not found 

Merci à l'avance Sree

Répondre

2

La façon de le faire est en vérifiant% valeur ERRORLEVEL% après cd commande a été exécutée:

cd A:\rr\Br 2> NUL 
if %errorlevel% equ 0 (
    echo folder found 
) else (
    echo folder not found 
) 

Si la valeur est 0, CD a été correctement exécuté et le répertoire courant être changé; sinon (errorlevel == 1) le lecteur ou le répertoire n'existe pas.

La partie 2> NUL permet d'éviter que le message d'erreur n'apparaisse à l'écran.

+0

merci ... Je ne pensais pas que ... solution simple et très efficace .... – Sree

Questions connexes