web-dev-qa-db-fra.com

Comment supprimer des fichiers d'un dossier en utilisant une liste de noms de fichiers dans Windows?

j'ai un dossier avec 2K + fichiers dedans, j'ai besoin de supprimer environ 200, j'ai un fichier txt avec tous les noms de fichiers que j'ai besoin de supprimer commandé dans une liste, comment puis-je supprimer les fichiers spécifiques du dossier en utilisant la liste? (OS est Windows 7)

22
Avishking

Une méthode simple consiste à copier le fichier txt dans un fichier appelé mydel.bat dans le répertoire des fichiers à supprimer. En utilisant un éditeur tel que Microsoft Word, éditez ce fichier. Effectuez un remplacement global sur Newline normalement ^p dans Word. Remplacez-le par space/f^pdelspace. Ça va changer

File1.bin
File20.bin
File21.bin

to (avec /f pour "forcer la suppression des fichiers en lecture seule"):

File1.bin /f
del File20.bin /f
del File21.bin /f
del

Modifiez la première ligne pour ajouter l’espace del et supprimer la dernière ligne.

Exécutez la commande batch.

18
kingchris

Tapez ceci sur la ligne de commande, en remplaçant votre fichier par files_to_delete.txt:

for /f %i in (files_to_delete.txt) do del %i

Une version de ceci appropriée pour inclure dans des fichiers .cmd (double %%) et capable de traiter des espaces dans les noms de fichiers:

for /f "delims=" %%f in (files_to_delete.txt) do del "%%f"
38
William Jackson

Utilisation de PowerShell:

Get-Content c:\path\to\list.txt | Remove-Item
18
Siim K

J'imagine que cela peut être fait avec PowerShell.

Connaissant Perl , j'ai tendance à l'utiliser pour ce genre de chose

Perl -l -n -e "unlink" filenames.txt
1
RedGrittyBrick

La première méthode fonctionne après quelques modifications:

  1. bloc-notes ouvert
  2. copier tous les noms de fichiers avec l'extension qui doivent être supprimés après avoir ajouté del au début comme

    del File1.bin
    del File20.bin
    del File21.bin
    
  3. enregistrer le fichier sous xyz.bat dans le même dossier

  4. lancer le fichier
1
Hassan