del ne retourne plus de errorlevel

Le
Huvelin Vincent
Bonjour,

Avec windows Xp la commande del ne retourne plus de errorlevel contrairement
à windows 2000.
Par exemple si j'essaie de détruitre un fichier qui n'existe pas voici ce
que cela donne sous xp :
del tutu.txt
Impossible de trouver C:TEMPtutu.txt
echo %ERRORLEVEL%
0
En windows 2000 echo %ERRORLEVEL% me retourne 1, ce qui est normal puisque
la commande DEL n'a pas fonctionné.

Si quelqu'un a une idée, merci de votre aide.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Pierre TORRIS
Le #1250991
Huvelin Vincent ce message

Bonjour,

Avec windows Xp la commande del ne retourne plus de errorlevel contrairement
à windows 2000.
Par exemple si j'essaie de détruitre un fichier qui n'existe pas voici ce
que cela donne sous xp :
del tutu.txt
Impossible de trouver C:TEMPtutu.txt
echo %ERRORLEVEL%
0
En windows 2000 echo %ERRORLEVEL% me retourne 1, ce qui est normal puisque
la commande DEL n'a pas fonctionné.

Si quelqu'un a une idée, merci de votre aide.


Bonjour,

Je ne dirais pas que c'est forcément normal, puisque la commande ne
peut pas s'effectuer. Il n'y a donc pas vraiment d'erreur. Pour autant,
la commande fixe quand même ERRORLEVEL à 0...

Dans la logique, avant de vouloir effacer un fichier, il conviendrait
de vérifier s'il existe :

IF EXIST tutu.txt DEL tutu.txt

Partant de cela, le script serait à adapter, mais sans grande
modification, si vous désirez toujours pouvoir utiliser ERRORLEVEL à
des fins de vérification de la commande (fichier existant ou n'existant
pas), je vous proposerais bien ceci :

IF EXIST tutu.txt (DEL tutu.txt) ELSE COLOR 00
IF ERRORLEVEL 1 ECHO Une erreur s'est produite

Si le fichier existe, ERRORLEVEL sera fixé par la commande DEL.

Si le fichier n'existe pas, l'astuce consiste à utiliser la commande
COLOR avec deux valeurs identiques pour la couleur du fond et du texte.
Les couleurs ne seront pas modifiées (et pas de messages), mais la
commande provoquera la mise à 1 de ERRORLEVEL.

--
Bien à vous. Pierre TORRIS

E-mail : - Internet : http://www.ptorris.com
[Nombreux logiciels gratuits de l'auteur pour Win9x-Me-2K-XP-Vista]

Huvelin Vincent
Le #1250989
Le problème est apparu avec windows xp (et windows 2003) alors qu'en windows
2000 tout fonctionnait normalement.
Il va falloir que je modifie des dixaines de batch ....
Merci de votre aidi
Publicité
Poster une réponse
Anonyme