Pourriez-vous s'il vous plaît aidez-moi avec le problème suivant? Très souvent, je dois faire la même tâche qui supprime presque tous les fichiers d'un répertoire - tous les fichiers sauf 2 (disons 1st.file et 2nd.file). J'ai trouvé plusieurs solutions pour effacer tout du répertoire, mais je n'ai aucune idée de comment l'utiliser. Pourriez-vous indiquer où trouver la solution?Windows fichier bat - suppression du répertoire
0
A
Répondre
0
Remplacer DONOTDELETE.ME
avec votre fichier et que le fichier ne sera pas supprimé.
@echo off
for /r . %%a in (*.*) do (
IF NOT "%%~nxa" == "DONOTDELETE.ME" (
DEL "%%a" )
)
Vous pouvez aussi simplement faire attrib -r
aux fichiers en question et enlever le drapeau de lecture seule par la suite comme ceci:
@echo off
cd \myFiles
attrib myFiles\DONOTDELETE1.ME +r
attrib myFiles\DONOTDELETE2.ME +r
del myFiles\*.* /q /s /a-r
attrib myFiles\DONOTDELETE1.ME -r
attrib myFiles\DONOTDELETE2.ME -r
for /f %%a in ('dir myFiles/ad /b') do echo rd myFiles\%%a /q/s
0
Quelque chose comme ça pourrait vous aider à démarrer.
@ECHO OFF
SET RemoveFolder=C:\Temp
MV %RemoveFolder%\1st.file 1st.file
MV %RemoveFolder%\2nd.file 2nd.file
RD /S /Q %RemoveFolder%
IF NOT EXIST %RemoveFolder% MD %RemoveFolder%
MV 1st.File %RemoveFolder%
MV 2nd.File %RemoveFolder%
SET RemoveFolder=
0
C'est un peu hackish, mais vous pouvez simplement modifier les attributs de les fichiers que vous ne voulez pas supprimer ... puis excluez tous les fichiers qui ont cet attribut lorsque vous appelez effacer.
Appel du follwing comme ceci: TestDelete.Bat "c: \ DeleteAllFilesExcept", LeaveFile1.txt, LeaveFile2.txt
ATTRIB +H %2
ATTRIB +H %3
erase %1 /A-H
ATTRIB -H %2
ATTRIB -H %3
Bien sûr, cela ne fonctionnera pas si vous avez l'intention de supprimer des fichiers cachés à partir du répertoire.
Je ne comprends pas complètement votre problème. Pourriez-vous donner quelques détails? – Dennis