Je veux supprimer tous les fichiers d'une structure de dossiers, il me reste donc une structure de dossiers vide.
Cela peut-il être réalisé en script batch ou VBScript ?
J'ai essayé une commande batch très basique, mais cela nécessitait que l'utilisateur autorise la suppression de chaque fichier. Ce n'était pas une solution appropriée car il y a plusieurs centaines de fichiers et cela augmentera massivement avec le temps.
Que pouvez-vous suggérer?
rd /s /q "c:\folder a
va effectuer une suppression récursive sur tous les fichiers et dossiers au sein deFolder A
Réponses:
Ceci peut être accompli avec PowerShell :
Cette commande récupère chaque élément enfant
$path
, exécute la méthode de suppression sur chacun d'eux et est assez rapide. La structure du dossier est laissée intacte.Si vous avez des fichiers sans extension, utilisez
au lieu.
Il semble que le
-File
paramètre ait été ajouté après PowerShell v2. Si c'est le cas, alorsIl devrait faire l'affaire pour les fichiers qui ont une extension.
Si cela ne fonctionne pas, vérifiez si vous avez une version à jour de Powershell
la source
-Include *.*
pas-Include .
, grande différence! :-)-Include .
?? C'est ça le problème.powershell --version
? Ne peuvent-ils pas utiliser un numéro de version avec des chiffres positifs? C'est juste fou. Plus de 1300 votes positifs pour une question sur la façon de trouver le numéro de version d'un programme?PowerShell court et suite. Je ne sais pas quelle version la plus basse de PS fonctionnera.
la source
rm *
car il n’est pas vraiment conseillé de forcer (la boîte de dialogue de confirmation a de toute façon une option "Oui à tout").Vous pouvez le faire avec la
del
commande:Le
/S
commutateur doit supprimer uniquement les fichiers de manière récursive.la source
/P
option pour vous demander de confirmer chaque suppression simplement pour vérifier cela.attrib -s -r -h Folder\*.* /s /d
avant de le supprimer. Et pour les autorisations, utilisez latakeown
commande.En lisant entre les lignes de votre question initiale, je peux vous proposer une autre ligne de code BATCH que vous pouvez utiliser. Lorsque cela sera exécuté, cela ne supprimera que les fichiers de plus de 60 jours. De cette façon, vous pouvez l'insérer dans une tâche planifiée. Lorsqu'il s'exécute, il supprime les fichiers superflus dont vous n'avez pas besoin au lieu de supprimer tout le répertoire. Vous pouvez changer de 60 à 5 jours ou même 1 jour si vous le souhaitez. Cela ne supprime pas les dossiers.
la source
Utilisation de PowerShell:
la source
Utilisez PowerShell pour supprimer un fichier ou un dossier unique. Avant d'exécuter la commande Supprimer dans PowerShell, nous devons nous assurer que vous êtes connecté au serveur ou au PC avec un compte disposant d'un accès complet aux objets que vous souhaitez supprimer.
Avec Exemple: http://dotnet-helpers.com/powershell-demo/how-to-delete-a-folder-or-file-using-powershell/
Utilisation de commnads PowerShell pour supprimer un fichier
La commande ci-dessus exécutera et supprimera le fichier «DummyfiletoDelete.txt» qui se trouve à l’emplacement de «C: \ dotnet-helpers».
Utilisation de commnads PowerShell pour supprimer tous les fichiers
Utilisation de commnads PowerShell pour supprimer tous les fichiers et dossiers
-recurse
explore et trouve beaucoup plus de fichiers. Ce–recurse
paramètre permettra à PowerShell de supprimer tous les éléments enfants sans demander d’autorisation. De plus, le paramètre –force peut être ajouté pour supprimer les fichiers cachés ou en lecture seule.Utilisation de la commande -Force pour supprimer des fichiers avec force
Utilisation de la commande PowerShell pour supprimer tous les fichiers avec force
la source
Essayez ceci avec PowerShell. Dans cet exemple, je souhaite supprimer tous les fichiers .class:
la source
Dans l'Explorateur Windows, sélectionnez le répertoire racine contenant tous les fichiers et dossiers.
Rechercher *
Trier par type (Tous les dossiers seront en haut et tous les fichiers listés en dessous)
Sélectionnez tous les fichiers et appuyez sur Supprimer.
Cela supprimera tous les fichiers et préservera la structure de répertoires.
la source
Supprimez tous les fichiers du répertoire actuel et des sous-répertoires en laissant la structure des dossiers.
Le
/Q
commutateur ( ) sert à demander à l'utilisateur s'il est prêt à supprimerAttention : essayez-le sans le
/Q
pour vous assurer de ne rien supprimer de précieux.la source
C’est le moyen le plus simple IMO
Ouvrez PowerShell, accédez au répertoire (
cd
), ALORS(Poof) tout est parti ...
Si vous souhaitez supprimer en fonction d'une extension spécifique
Toutes les autres réponses semblent rendre cela plus déroutant que nécessaire.
la source
la source
En complément des réponses ci-dessus, il n'est en fait pas nécessaire d'utiliser Get-Childitem et de transmettre le résultat au pipeline dans les réponses ci-dessus, car le mot clé -Include est inclus dans la commande Remove-Item.
On peut simplement:
Remove-Item -Include " . " "C: \ Temp" -Recurse
la source