J'utilise Windows.
Je souhaite supprimer tous les fichiers et dossiers d'un dossier par appel système.
Je peux appeler comme ça:
>rd /s /q c:\destination
>md c:\destination
Connaissez-vous un moyen plus simple?
windows
batch-file
ufukgun
la source
la source
Réponses:
Non, je n'en connais pas.
Si vous souhaitez conserver le répertoire d'origine pour une raison quelconque (ACL, etc.), et que vous voulez vraiment le vider, alors vous pouvez faire ce qui suit:
Cela supprime d'abord tous les fichiers du répertoire, puis supprime de manière récursive tous les répertoires imbriqués, mais dans l'ensemble, en conservant le répertoire de niveau supérieur tel quel (à l'exception de son contenu).
Notez que dans un fichier de commandes, vous devez doubler le
%
contenu de lafor
boucle:la source
destination
par le chemin, éventuellement en utilisant des guillemets autour du tout si nécessaire.del c:\destination\*.* /s /q
travaillé pour moi. J'espère que cela fonctionne aussi pour vous.la source
del *.*
del "../../server/front-end\*.*"
Je pense que le moyen le plus simple de le faire est:
Le dernier "\" du chemin est la partie importante.
la source
mkdir C:\FolderToNotToDelete
me suffisait :)Oui! Utilisez Powershell:
la source
Si les noms de sous-dossiers peuvent contenir des espaces, vous devez les entourer de guillemets d'échappement. L'exemple suivant montre cela pour les commandes utilisées dans un fichier de commandes.
la source
Pour supprimer un fichier:
Pour supprimer un dossier contenant tous les fichiers:
Supprimer tous les fichiers d'un dossier spécifique (sans supprimer le dossier lui-même) est un peu compliqué.
del /s *.*
ne peut pas supprimer les dossiers, mais supprime les fichiers de tous les sous-dossiers. Donc, deux commandes sont nécessaires:Vous pouvez créer un script pour supprimer ce que vous voulez (dossier ou fichier) comme ceci
mydel.bat
:Quelques exemples d'utilisation:
la source
Une option simple sur une ligne consiste à créer un répertoire vide quelque part sur votre système de fichiers, puis à utiliser
ROBOCOPY
( http://technet.microsoft.com/en-us/library/cc733145.aspx ) avec le/MIR
commutateur pour supprimer tous les fichiers et sous-dossiers. Par défaut, robocopy ne copie pas la sécurité, les ACL de votre dossier racine doivent donc rester intactes.Vous souhaitez probablement également définir une valeur pour le commutateur de nouvelle tentative
/r
, car le nombre de tentatives par défaut est de 1 million.la source
J'avais un dossier d'index avec 33 dossiers qui nécessitaient tous les fichiers et sous-dossiers supprimés. J'ai ouvert une ligne de commande dans le dossier d'index, puis j'ai utilisé ces commandes:
Je les ai séparés en deux lignes (appuyez sur Entrée après la première ligne, et lorsqu'on vous demande plus d'ajouter la deuxième ligne), car si elles sont entrées sur une seule ligne, cela peut ne pas fonctionner. Cette commande effacera chaque répertoire puis en créera un nouveau qui est vide, supprimant ainsi tous les fichiers et sous-dossiers du répertoire d'origine.
la source
Accédez au répertoire parent
Ligne1 pushd "Répertoire parent"
Supprimer les sous-dossiers
Ligne2 rd / s / q. 2> nul
/superuser/173859/how-can-i-delete-all-files-subfolders-in-a-given-folder-via-the-command-prompt
la source
pushd
vous devezpopd
également l' utiliser . Malheureusement,popd
ne fonctionne pas lorsque vous supprimez le répertoire. Donc, vous devez fairecd
au lieu depushd
.Cela prend 2 étapes simples. [/ q signifie silencieux, / f signifie forcé, / s signifie sous-répertoire]
Videz le répertoire à supprimer
Supprimer le répertoire
la source
essayez ceci, cela recherchera tout MyFolder sous le répertoire racine et supprimera tous les dossiers nommés MyFolder
la source
Cette commande supprime tous les fichiers et dossiers de la navigation actuelle dans votre ligne de commande.
la source