Moin
Ich möchte eine Windows Batch bauen, die sich nach file backup ausführt und sämtliche Dateien (im Unterordner, sowie die Unterordner selbst auch) auf dem Desktop löscht, ausser den Desktop Ordner selbst. Dabei sollen auch Ausnahmen gesetzt werden, dass zb *.lnk / *.db / *.ini nicht gelöscht werden.
Hab auch ein ähnliches Batch script im anderen Forum gefunden, was ich ein wenig umbauen wollte... aber nun hab ich den Pfaden verloren :/
Ich poste am besten einfach mal die Batch soweit wie ich sie Habe und achja ich benutze Windows Vista.
@echo off
rem Verzeichnis, wo die Dateien gelöscht werden sollen
set erasepath="C:\Users\Name\Desktop"
rem auszulassende Dateiendung werden hier gesetzt
set skipfile='*.lnk'
set skipfile1='*.db'
set skipfile2='*.ini'
set skipfile3='dirs.txt'
set skipfile4='del.txt'
rem Zwischendatei, die zu löschende Ordner/Dateien enthällt
set availdirs="C:\Users\Name\Desktop\dirs.txt"
set delfile="C:\Users\Name\Desktop\del.txt"
rem Vorhandene Ordner werden in Datei geschrieben
dir %erasepath% /a:d /b >> %availdirs%
dir %erasepath% /b >> %delfile%
rem Alles löschen ausser skipfile-skipfile4
for /f %%a IN (%delfile%) DO IF NOT '%%a' == %skipfile% del %erasepath%%%a
So eigentlich hängen tue ich bei dem "for-Befehl" und zwar soll der quasi so aussehen: for /f %%a IN (%delfile%) DO IF NOT '%%a' == %skipfile%,%skipfile1%,%skipfile2%,%skipfile3%,%skipfile4% del %erasepath%%%a
Ich weiss das funktioniert so nicht, nur damit ihr wisst was ich meine Ausserdem weiss ich auch nicht, ob ich danach noch ein Befehl setzen muss, um die restlichen Unterordner zulöschen.
Währe schön wenn mir jemand helfen könnte, oder vielleicht verbesserungs vorschlag hat.
Grüße
P.S.: Wünsche euch ein Guten Rutsch ins neue Jahr