2011-02-28 4 views
0

J'cris sur un texte dans un fichier texte dans un script batch cmd comme tel:capture message d'erreur d'écho dans cmd invite

echo FlagValue=Y>>flag.txt 

Cela fonctionne normalement bien mais de temps en temps si le fichier texte est ouvert par un processus différent, une erreur messgae est renvoyée en disant Accès refusé. Ce que je voudrais faire est d'arrêter le fichier batch si une erreur se produit avec quelque chose comme:

if return_code GEQ 1 GOTO ERR 

Mais ne peut pas trouver un code de retour de la commande echo. Existe-t-il ou existe-t-il une meilleure tactique pour capturer le message d'erreur?

Répondre

0

Chaque fois que vous exécutez une commande, la variable d'environnement ERRORLEVEL est définie sur le retour de votre commande. Essayez donc echo% ERRORLEVEL% directement après avoir exécuté votre commande. . (Faites attention que toute commande que vous exécutez inbetween (y compris l'écho) remplace le% ERRORLEVEL%

En outre, vérifier ces pour plus d'informations:
Can a batch file capture the exit codes of the commands it is invoking?
Batch Files - Error Handling

+0

J'ai essayé la construction d'un petit script de test echo off testline écho >> file1.txt écho errorlevel =% ERRORLEVEL% mais le résultat, je suis de retour était Le processus ne peut pas accéder au fichier car il est utilisé par un autre processus. errorlevel = 0 – Tadhg

+0

quel niveau d'erreur obtenez-vous lorsque vous ** pouvez ** accéder au fichier? je vais essayer d'écrire dans un autre fichier file2.txt – Joe

+0

Je reçois encore errorlevel = 0 indépendamment du fait que je puisse écrire dans le fichier ou non – Tadhg

2
echo FlagValue=Y>>flag.txt || echo access_denied Ensure you have rights 

ou

echo FlagValue=Y>>flag.txt 
if /i %errorlevel% NEQ 0 do (
    echo access_denied Ensure you have rights 
    call sendmail.cmd 
) 

Exemple:

C:\Users\Me\Desktop>echo Hello > MyFile.txt || echo ERROR 
Access is denied. 
ERROR 

C:\Users\Me\Desktop>echo Hello > a.txt || echo ERROR 

C:\Users\Me\Desktop> 
Questions connexes