Sie können die Verwendung for
und if
befiehlt, dies zu erreichen:
for %i in (*) do if not %i == a.c del %i
Dies geht durch das aktuelle Verzeichnis und vergleicht jeden Dateinamen mit "ac". Wenn er nicht übereinstimmt, wird die Datei gelöscht.
Gibt es einen MS-DOS-Befehl, mit dem ich alle Dateien außer einer löschen kann?
Betrachten Sie als Beispiel die folgenden Dateien:
a.001 a.002 a.003 a.exe a.c
Gibt es einen Befehl, alle Dateien außer zu löschen a.c
?
Sie können die Verwendung for
und if
befiehlt, dies zu erreichen:
for %i in (*) do if not %i == a.c del %i
Dies geht durch das aktuelle Verzeichnis und vergleicht jeden Dateinamen mit "ac". Wenn er nicht übereinstimmt, wird die Datei gelöscht.
Sie können die Datei so einstellen, dass sie nur gelesen wird, bevor Sie alles löschen
attrib +r a.c del *.* attrib -r a.c
Nein, das gibt es nicht. Ich würde ein Verzeichnis erstellen, die wichtige Datei hinein kopieren, löschen . , und verschieben Sie die Datei zurück. Dann löschen Sie die temporäre Datei.
mkdir temp move a.c temp erase *.* move temp\* . rmdir temp
FOR %f IN (*.*) DO IF NOT [%f]==[a.c] DEL /Q %f
FOR /F "tokens=1-4" %%a in ('dir /a:-d /b /s %app_path%^|find /v "%file%"') DO Del /q %%a %%b %%c %%d
Für die Geschwindigkeit benutze ich delen :
delen /! a.c
TCC / LE hat auch einen stärkerendel
Befehl:
del /[!a.c] *