del *.*
ne supprimera que les fichiers, mais pas les sous-répertoires. Pour effacer le contenu d'un répertoire, vous pouvez utiliser ce script :
@echo off
setlocal enableextensions
if {%1}=={} goto :HELP
if {%1}=={/?} goto :HELP
goto :START
:HELP
echo Usage: %~n0 directory-name
echo.
echo Empties the contents of the specified directory,
echo WITHOUT CONFIRMATION. USE EXTREME CAUTION!
goto :DONE
:START
pushd %1 || goto :DONE
rd /q /s . 2> NUL
popd
:DONE
endlocal
Le site pushd
change dans le répertoire dont vous voulez supprimer les enfants. Ensuite, lorsque rd
demande de supprimer le répertoire courant et tous les sous-répertoires, la suppression des sous-répertoires réussit, mais la suppression du répertoire courant échoue - parce que nous sommes dedans. Cela produit une erreur qui 2> NUL
avale. (2 étant le flux d'erreur).
4 votes
Type
del /?
à l'invite. Vous obtiendrez des informations sur la façon d'utiliser l'outil. Dans ce cas,del *.* /s
fonctionnerait mais ne le faites pas dans le mauvais répertoire !39 votes
rmdir /s /q c:\users\tbrollo\j2mewtk\2.5.2\appdb\RMS
0 votes
Je suggère de modifier la réponse correcte en fonction des votes positifs.
7 votes
La réponse de forsvarir supprime la
RMS
aussi, ce qui n'est peut-être pas ce qui était prévu. (En fait, c'est souvent ce que je Ne le fais pas. veulent, car alors je perds l'horodatage original du répertoire et toutes les permissions qu'il avait). Voir ma réponse pour savoir comment supprimer tout le contenu d'un répertoire mais laisser le répertoire lui-même en place.0 votes
Duplicata possible de Comment supprimer des fichiers/sous-dossiers dans un répertoire spécifique à l'invite de commande sous Windows ?