Je souhaite supprimer tout le contenu d'un dossier spécifié sous Windows 7 via un fichier de commandes. Mon problème est que «del» ou «effacer» ne supprime que les fichiers, pas les dossiers et que «rmdir» ou «rd» supprime toujours le dossier spécifié avec son contenu, mais que je souhaite uniquement supprimer le contenu, pas le dossier lui-même. . J'ai essayé la commande ' rmdir /S /Q "C:\Share\*"
'qui m'a donné une erreur de syntaxe.
Quelle est la bonne façon de faire cela?
Je travaille sur Windows 7 Professional 64 bits et dispose des autorisations d'administrateur.
la source
del
n'est pas nécessaire.rd/s/q
supprimera les fichiers et les sous-dossiers.del
est principalement présent pour tous les fichiers du dossier racine, pourrait toutefois supprimer le commutateur de récursivité.Vous obtenez une "erreur de syntaxe" car
rmdir
accepte uniquement les noms complets, pas les caractères génériques. (Danscmd.exe
, l’expansion des caractères génériques est laissée aux programmes individuels; tous ne le font pas.)Si vous avez plusieurs annuaires commençant par
Share...
, utiliser unfor
boucle.la source
Essayez ceci dans une invite de commande:
la source
Qu'en est-il de ?
EDIT: cette solution ne s'applique bien entendu que lorsque vous pouvez tolérer une absence momentanée du dossier.
la source
for /f
dans des cas similaires au mien. Je voulais juste partagerCela ne fonctionne pas si les sous-répertoires contiennent d'autres répertoires contenant des espaces.
Afin de faire ce travail, j'avais besoin de citer la dernière chaîne, comme ceci
Apparemment, cela oblige la commande à travailler sur la chaîne citée au lieu de la chaîne elle-même.
la source
Je voudrais essayer ceci dans le dossier où tous les sous-dossiers doivent être supprimés mais la racine (et les fichiers dans la racine) laissés tels quels: pour / D% v in (*) do rd / s / q% v
pour / D correspond aux répertoires et rd / s / q supprime chacun à la fois
la source