108 votes

Suppression d'un répertoire et de ses fichiers en utilisant la ligne de commande, mais sans générer d'erreur s'il n'existe pas.

J'ai besoin d'une commande Windows pour supprimer un répertoire et tous les fichiers qu'il contient, mais je ne veux pas voir d'erreur si le répertoire n'existe pas.

102voto

GolezTrol Points 54531

Rediriger la sortie de l del à zéro. Notez que le 2 pour indiquer que la sortie d'erreur doit être redirigée. Voir aussi cette question et surtout la doc technique Utilisation des opérateurs de redirection des commandes .

del {whateveroptions} 2>null

Ou vous pouvez vérifier l'existence du fichier avant d'appeler del :

if exist c:\folder\file del c:\folder\file

Notez que vous pouvez utiliser if exist c:\folder\ (avec la terminaison \ ) pour vérifier si c:\folder est bien un dossier et non un fichier.

69voto

dbenham Points 46458

Soit rediriger stderr vers nul

rd /q /s "c:\yourFolder" 2>nul

Ou vérifiez que le dossier existe avant de le supprimer. Notez que la terminaison \ est critique dans la condition IF.

if exist "c:\yourFolder\" rd /q /s "c:\yourFolder"

35voto

christopher2007 Points 397

Pour moi, sous Windows 10, ce qui suit fonctionne très bien :

if exist <path> rmdir <path> /q /s

q signifie "supprimer sans demander" et s signifie "supprimer tous les sous-dossiers et fichiers qu'il contient".

Et vous pouvez aussi concaténer la commande :

(if exist <path> rmdir <path> /q /s) && <some other command that executes after deleting>

2voto

Bali C Points 12771

Vous pouvez rediriger stderr vers nul

del filethatdoesntexist.txt 2>nul

0voto

Anjana Silva Points 391

Le message ci-dessus s'affiche avec Y ou N dans l'invite. J'ai donc utilisé ce qui suit à la place et cela fonctionne parfaitement.

if exist cddd rmdir cddd

J'espère que cela aidera quelqu'un.

A la vôtre.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X