J'ai besoin d'une commande Windows pour supprimer un répertoire et tous ses fichiers mais je ne veux pas voir d'erreurs si le répertoire n'existe pas.
Redirige la sortie de la commande del
vers la valeur nulle. Noter la 2
, pour indiquer que la sortie d'erreur doit être redirigée. Voir aussi cette question , et en particulier le document technique tilisation des opérateurs de redirection de commande .
del {whateveroptions} 2>nul
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 le dernier \
) pour vérifier si c:\folder
est en effet un dossier et non un fichier.
Soit rediriger stderr vers nul
rd /q /s "c:\yourFolder" 2>nul
Ou vérifiez que ce dossier existe avant de le supprimer. Notez que la fin \
est critique dans la condition IF.
if exist "c:\yourFolder\" rd /q /s "c:\yourFolder"
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 concatiner la commande:
(if exist <path> rmdir <path> /q /s) && <some other command that executes after deleting>
Vous pouvez rediriger stderr vers nul
del filethatdoesntexist.txt 2>nul