web-dev-qa-db-fra.com

Script batch pour supprimer des fichiers

J'ai un script de lot comme suit.

D:
del "D:\TEST\TEST1\Archive\*.TSV" 
del "D:\TEST\TEST1\Archive\*.TXT"
del "D:\TEST\TEST2\Archive\*.TSV" 
del "D:\TEST\TEST2\Archive\*.TXT"
del "D:\TEST\TEST 100%\Archive\*.TSV" 
del "D:\TEST\TEST 100%\Archive\*.TXT"

Le code ci-dessus supprime tous les fichiers ".txt" et ".tsv" de tous les dossiers, à l'exception du dossier TEST 100%. Pour supprimer les fichiers de TEST 100%, je reçois le message d'erreur comme The Path could not be found. Je suppose que le symbole% dans le nom du dossier crée le problème. Quelqu'un peut-il me guider pour résoudre le problème et supprimer les fichiers du dossier TEST 100%?

86
Satheesh

Vous devez échapper au% avec un autre ...

del "D:\TEST\TEST 100%%\Archive*.TXT"
102
Russ Freeman

Il y a plusieurs façons de faire les choses en batch, donc si échapper avec un double pourcentage %% ne fonctionne pas pour vous, alors vous pouvez essayer quelque chose comme ceci:

set olddir=%CD%
cd /d "path of folder"
del "file name/ or *.txt etc..."
cd /d "%olddir%"

Comment ça marche:

set olddir=%CD% définit la variable "olddir" ou tout autre nom de variable de votre choix dans le répertoire à partir duquel votre fichier batch a été lancé.

cd /d "path of folder" change le répertoire en cours que le lot va examiner. conservez les citations et changez le chemin du dossier dans le chemin que vous visez.

del "file name/ or *.txt etc..." supprimera le fichier dans le répertoire actuel de votre lot. N'ajoutez pas de chemin de répertoire avant le nom du fichier et indiquez simplement le nom de fichier complet ou, pour supprimer plusieurs fichiers portant la même extension avec *.txt ou quelle que soit l'extension dont vous avez besoin.

cd /d "%olddir%" prend la variable enregistrée avec votre ancien chemin et retourne au répertoire avec lequel vous avez commencé le lot, ce n'est pas important si vous ne voulez pas que le lot retourne à son chemin de répertoire précédent, et comme indiqué avant la variable nom peut être changé en ce que vous voulez en changeant le set olddir=%CD% line.

11
user1931470

Disons que vous avez enregistré votre logiciel sur votre bureau.
Si vous souhaitez supprimer un dossier entier comme un programme de désinstallation, vous pouvez utiliser ceci.

cd C:\Users\User\Detsktop\
rd /s /q SOFTWARE

cela supprimera tout le dossier appelé logiciel et tous ses fichiers et sous-dossiers

Assurez-vous de supprimer le bon dossier car il n’ya pas d’option Oui/Non

10
user3674709

Considérez que les fichiers que vous devez supprimer ont une extension txt et sont situés à l'emplacement D:\My Folder, vous pouvez alors utiliser le code ci-dessous à l'intérieur du fichier bat.

cd "D:\My Folder"
DEL *.txt 
3
Sarath Avanavu