Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Alle Ordner löschen bis auf zwei bestimmte Ordner per batch

Frage Entwicklung Batch & Shell

Mitglied: darkangel2k3

darkangel2k3 (Level 1) - Jetzt verbinden

13.12.2010, aktualisiert 14:31 Uhr, 5456 Aufrufe, 5 Kommentare

Ich möchte gerne eine Batch-Datei erstellen, die alles löscht bis auf ein paar bestimmte Ordner.

Hallo zusammen,

ich habe schon ein bisschen im Forum gesucht und schon ein paar Gute Sachen gefunden.

Ich möchte gerne, dass eine Batchdatei, welche Zeitgesteuert von der Aufgabenplanung ausgeführt wird, alle Ordner und Dateien in einem bestimmten Verzeichnis löscht.

Hier mein Vorschlag:

01.
@echo off 
02.
 
03.
echo "Daten werden vom Austausch-Berlin gelöscht" 
04.
 
05.
set "Ordner=D:\Austausch-Berlin\_test"  
06.
 
07.
set "Behalten=_Software"  
08.
 
09.
set "Behalten2=_Vorlagen" 
10.
 
11.
for /d %%i in ("%Ordner%\*.*") do if /i "%%~nxi" neq "%Behalten%" rd /s /q "%%i"
leider weiß ich jetzt nicht, wie ich die zweite Variable reinbekomme.

"%Behalten2%"

Gibt es irgendwie einen Befehl or oder so?

Bin leider ein absoluter Anfänger =).

Für jede Hilfe bin ich dankbar!

[Edit Biber] Codeformatierung [/Edit]
Mitglied: Biber
13.12.2010 um 14:38 Uhr
Moin Dunkelangel2k3,

willkommen im Forum.

Einen OR-Befehl mit genau diesen Schlüsselwort "OR" gibt es so nicht im Batch.
Aber diverse Abbildungsmöglichkeiten der Anforderung.

Für dich als Anfänger bestimmt am einfachsten nachzuvollziehen wäre die Variante mit zwei hintereinandergeschalteten "IF ..NEQ "-Abfragen.

01.
@echo off & setLocal 
02.
 
03.
echo "Daten werden vom Austausch-Berlin gelöscht" 
04.
 
05.
set "Ordner=D:\Austausch-Berlin\_test"  
06.
 
07.
set "Behalten=_Software"  
08.
 
09.
set "Behalten2=_Vorlagen" 
10.
 
11.
for /d %%i in ("%Ordner%\*.*") do if /i "%%~nxi" neq "%Behalten%" if /i "%%~nxi" neq "%Behalten2%" rd /s /q "%%i"
Grüße
Biber
Bitte warten ..
Mitglied: bastla
13.12.2010 um 14:40 Uhr
Hallo darkangel2k3!

Würde ich eher so anlegen (ungetestet):
01.
@echo off & setlocal 
02.
set "Ordner=D:\Austausch-Berlin\_test" 
03.
set "Behalten=§_Software§_Vorlagen§" 
04.
for /d %%i in ("%Ordner%\*.*") do echo "%Behalten%"|findstr /i "§%%~nxi§">nul||echo rd /s /q "%%i"
- im "Nicht-Test-Fall" natürlich ohne das "echo" unmittelbar vor dem "rd". Sollte in den Ordnernamen "§" vorkommen, einfach ein anderes Trennzeichen wählen.

Der Vorteil dieses Ansatzes ist die relativ einfache Erweiterbarkeit (zusätzliche auszusparende Ordner müssten nur an den String %Behalten% angefügt und mit "§" abgeschlossen werden).

Kurz zur Funktionsweise: Mit "findstr" wird auf das Vorhandensein des jeweiligen Ordnernamens in der "Behalten"-Liste geprüft, wobei zur Erhöhung der Genauigkeit Beginn und Ende jeweils mit einem Trennzeichen (hier eben "§") gekennzeichnet werden. Wenn der Name nicht gefunden wird (deshalb die Verknüpfung mit "||" für "nur ausführen, wenn der vorige Befehl nicht mit Errorlevel 0 beendet wurde") kann gelöscht werden

Grüße
bastla
Bitte warten ..
Mitglied: BigWim
13.12.2010 um 14:40 Uhr
Moin,

ungetestet hätte ich diesen Vorschlag parat:

01.
@echo off 
02.
echo "Daten werden vom Austausch-Berlin gelöscht" 
03.
 
04.
set "Ordner=D:\Austausch-Berlin\_test"  
05.
set "Behalten=_Software"  
06.
set "Behalten2=_Vorlagen" 
07.
 
08.
for /d %%i in ("%Ordner%\*.*") do ( 
09.
  if /i "%%~nxi" == "%Behalten%" goto :eof 
10.
  if /i "%%~nxi" == "%Behalten2%" goto :eof 
11.
  echo rd /s /q "%%i" 
12.
)
Markus
Bitte warten ..
Mitglied: darkangel2k3
13.12.2010 um 15:02 Uhr
Jungs ihr seid Klasse! ;)

Alle Varianten sind gut, ich denke ich werde erst mal die einfachste Variante für den Anfang nutzen von Biber.

Aber die von dir bastla werde ich durchaus auf den anderen Servern nutzen, da dort mehrere Ordner sind, die nicht gelöscht werden sollen.

Danke!
Bitte warten ..
Mitglied: 90776
13.12.2010 um 17:57 Uhr
hi....

sonst noch eine andere variante

verschieb die ordner temporär, lösch den inhalt des übergeortneten ordners und verschieb die ordner wieder zurück

ist Teilweise auch ganz praktisch

Grüsse
Switcher
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Bestimmte Ordner rekursiv per Batch löschen
gelöst Frage von TASKnetBatch & Shell5 Kommentare

Hallo zusammen, ich habe folgendes Problem: Eine Radiologie schickt Dateien und Verzeichnisse auf ein gemapptes Laufwerk. Wir haben dort ...

Batch & Shell
Win7-Batch - bestimmte Ordner in TEMP löschen
gelöst Frage von jan99Batch & Shell1 Kommentar

Moin! ich möchte im Verzeichnis %temp% alle Ordner löschen die mit ogs beginnen. In diesen Verzeichnissen können zu dem ...

Batch & Shell
Bestimmte Bilder mit Batch löschen
gelöst Frage von hanni007Batch & Shell2 Kommentare

Hallo, seit einigen Tagen bin ich schon als Nichtnutzer in eurem Forum unterwegs. Nun habe ich mich aber entschlossen, ...

Batch & Shell
Ordner löschen per Batch
gelöst Frage von MarcysBatch & Shell3 Kommentare

Hallo, Ich möchte aus einem Verzeichnis einen den Ordner "MC" löschen: C:\Programme\HYP\MC Dies möchte ich per Batch machen. Wie ...

Neue Wissensbeiträge
Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 2 StundenInternet1 Kommentar

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registierunf von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Verschlüsselung & Zertifikate

19 Jahre alter Angriff auf TLS funktioniert immer noch

Information von BassFishFox vor 9 StundenVerschlüsselung & Zertifikate1 Kommentar

Interessant zu lesen. Der Bleichenbacher-Angriff gilt unter Kryptographen als Klassiker, trotzdem funktioniert er oft noch. Wie wir herausgefunden haben, ...

Windows 10

Windows 10 Fall Creators Update - Neue Funktion Hyper-V Standardswitch kann ggf. Fehler bei Proxy Configs verursachen

Erfahrungsbericht von rzlbrnft vor 20 StundenWindows 103 Kommentare

Hallo Kollegen, Da wir die Gefahr lieben, haben wir bei einigen Usern nun mittlerweile das Creators Update drauf. Einige ...

Sicherheit

TLS-Zertifikat und privater Schlüssel von Microsofts Dynamics 365 geleakt

Information von Penny.Cilin vor 22 StundenSicherheit

Microsoft hat versehentlich das TLS-Zertifikat inklusive dem privaten Schlüssel seiner Business-Anwendung Dynamics 365 geleakt. TLS-Zertifikat und privater Schlüssel von ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

Netzwerkmanagement
NAS über zwei weitere Ethernet Anschlüsse verbinden
gelöst Frage von Sibelius001Netzwerkmanagement16 Kommentare

Sorry - ich bin hier wahrscheinlich als kompetter IT Trottel unterwegs. Aber eventuell kann mir jemand ganz einfach helfen: ...

LAN, WAN, Wireless
Von rj11 auf rj45
Frage von jensgebkenLAN, WAN, Wireless15 Kommentare

Hallo Gemeinschaft, könnt ihr mir vielleicht bei der anfertigung eines Kabels helfen - habe ein rj 11 stecker und ...

LAN, WAN, Wireless
Häufig Probleme beim Anmelden in WLAN
Frage von mabue88LAN, WAN, Wireless15 Kommentare

Hallo zusammen, in einem Netzwerk gibt es relativ häufig (1-2 mal pro Woche) Probleme mit der WLAN-Verbindung. Zunächst mal ...