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 Batch mehrere Ordner bei Löschvorgang ausschließen

Mitglied: Kim

Kim (Level 1) - Jetzt verbinden

28.10.2008, aktualisiert 30.10.2008, 8614 Aufrufe, 4 Kommentare

Ich habe in einem Ordner z.B. unter C:\temp 20 Ordner, die ich aufräumen will.

In meiner ini Datei stehen die Ordner, die ich nicht gelöscht haben will, der Rest soll gelöscht werden.

ini-Datei

ordner1=xyz1
ordner2=xyz2
ordner3=xyz3
ordner4=xyz4

Wie ich diese Ordner aus der ini Auslese ist mir klar:

for /f "delims== tokens=1,2" %%i in ('findstr "ordner1" config.ini') do @SET ordner1=%%j
.
.
.

Da aber das DOS Tool del keinen Ausschluss vorsieht, suche ich nach einer Möglichkeit wie ich mein Problem lösen kann.

Verschieben ist keine Lösung, da viel zu Zeitaufwendig (mehrere Hunderttausende Dateien).

Eine andere Möglichkeit habe ich noch nicht gefunden.

Bin für jede Hilfe dankbar.

Grüße
Kim
Mitglied: bastla
28.10.2008 um 16:19 Uhr
Hallo Kim!

Bei nur 20 Ordnern wäre es vermutlich sicherer (und auch nicht viel aufwändiger), die zu löschenden Ordner festzulegen ...

Trotzdem: Wenn Deine "config.ini" nur die Ordnernamen enthielte (was einen Vergleich der gesamten Zeile möglich machte), würde ich das etwa so versuchen (das "echo" vor dem "del" soll ein gefahrloses Testen erlauben):
for /d %%i in ("C:\Temp\*.*") do @findstr /i /x /c:"%%i" "config.ini">nul || echo del "%%i" /s /q
Zu beachten wäre, dass nur exakte Übereinstimmung des in der "config.ini" angegebenen Pfades zum Ausschluss führt, also ein Eintrag "Dieser Ordner" einen existierenden Ordner "Dieser Ordner auch" nicht ausschließen würde (was sich allerdings durch den Ersatz des Schalters "/x" durch "/b" erreichen ließe). Achtung auch auf zB zusätzliche Leerzeichen am Zeilenende (da dadurch ebenfalls keine Übereinstimmung mehr gegeben wäre)!

Grüße
bastla

[Edit] Bei Angabe des Ordners ("C:\Temp") im "for /d" muss die Ordnerliste in "config.ini" den vollständigen Pfad (also zB "C:\Temp\xyz1") enthalten, oder die "findstr"-Schreibweise auf
findstr /i /x /c:"%%~nxi" "config.ini"
geändert werden. [/Edit]
Bitte warten ..
Mitglied: Kim
29.10.2008 um 08:09 Uhr
Komisch, kriege andauernd diesen Fehler, wenn ich aber findstr in der console eingebe funktionierts, in anderen Batches läuft der Befehl auch. :S

'findstr' is not recognized as an internal or external command, operable program or batch file.#

Hier noch die Batch und die ini-Datei

test.cmd
for /d %%i in ("C:\temp\test\*.*") do @findstr /i /x /c:"%%i" "config.ini">nul || echo del "%%i" /s /q

oder

test2.cmd
for /d %%i in ("C:\temp\test\*.*") do @findstr /i /x /c:"%%~nxi" "config.ini">nul || echo del "%%i" /s /q

config.ini:
C:\temp\test\1
C:\temp\test\3
C:\temp\test\5
C:\temp\test\7
C:\temp\test\9

hab schon ein bisschen Rumgespielt, aber will net laufen

Gruß
Kim
Bitte warten ..
Mitglied: bastla
29.10.2008 um 11:07 Uhr
Hallo Kim!

Zu Deinem "findstr"-Problem fällt mir auf die Schnelle nix ein, außer das Ganze direkt aus der Console zu starten:
for /d %i in ("C:\temp\test\*.*") do @findstr /i /x /c:"%i" "config.ini">nul || @echo del "%i" /s /q
wobei noch anzumerken wäre, dass die "config.ini" entweder im aktuellen Verzeichnis liegen muss oder, besser, mit vollständigem Pfad (etwa: "C:\Scripts\config.ini") anzugeben wäre.

Grüße
bastla
Bitte warten ..
Mitglied: Kim
30.10.2008 um 11:45 Uhr
Hallo bastla,

vielen Dank für die ganze Arbeit!

Problem ist gelöst und läuft sauber, musste Datei löschen und erneut schreiben (Windows is da irgendwie panne, naja anderes Thema ;))

Hier der funktionierende Code:

delete_dir.cmd
01.
for /d %%i in ("C:\temp\test\*") do @findstr /i /x /c:"%%i" "C:\temp\config.ini">nul || @rmdir "%%i" /S /Q
config.ini
01.
C:\temp\test\1 
02.
C:\temp\test\3 
03.
C:\temp\test\5
Gruß Kim
Bitte warten ..
Ähnliche Inhalte
Windows Server

Bestimmte Ordner bei Ordnerumleitung ausschließen

Frage von ey-joWindows Server3 Kommentare

Hallo Community, wir nutzen bei uns servergespeicherte Profile. Dort habe ich ua. die Anwendungsdaten umgeleitet. Nun startet ein Programm ...

Windows Userverwaltung

Ordner und Dateien in Domänenprofilen ausschließen

gelöst Frage von BleppSatterWindows Userverwaltung8 Kommentare

Hallo Community, mein Unternehmen arbeitet schon lange mit Domänenprofilen, jedoch haben sich einige Profile durch das individuelle Nutzerverhalten so ...

Windows Server

Datendeduplizierung Ordner nachträglich ausschließen

gelöst Frage von HanutaWindows Server9 Kommentare

Hallo Zusammen, Ich habe über den Servermanager einen Ordner nachträglich von der Datendeduplizierung ausgeschlossen. Wie lange dauert das in ...

Suse

Mehrere Verzeichnisse bei Suche ausschliessen

gelöst Frage von JedujaSuse3 Kommentare

Ich möchte mit einer Suche alle Dateien (nicht Verzeichnisse) ab einer bestimmten Grösse nach Grösse sortiert ausgeben lassen und ...

Neue Wissensbeiträge
Windows 7

Windows 7 - Server 2008 R2: Exploit für Total Meltdown verfügbar

Information von kgborn vor 2 StundenWindows 7

Kleine Information für Administratoren, die für die Updates von Windows 7 SP1 und Windows Server 2008 R2 SP1 verantwortlich ...

Sicherheit

Zero Day-Schwachstelle im Internet Explorer - wird von APT bereits ausgenutzt

Information von kgborn vor 12 StundenSicherheit

Im Kernel des Internet Explorer scheint es eine Zero Day-Lücke zu geben, die von staatlichen Akteuren (APT) im Rahmen ...

Microsoft
Folder Security Viewer-Lizenzen zu gewinnen
Information von kgborn vor 13 StundenMicrosoft

Ich nehme das Thema mal in Absprache mit Frank hier auf, da es für den einen oder anderen Administrator ...

Hardware

Feueralarm killt Festplatten in Rechenzentrum - führt zu größerem Ausfall

Information von kgborn vor 13 StundenHardware11 Kommentare

Noch ein kleiner Beitrag für Administratoren, die in Rechenzentren aktiv sind - so als Fingerzeig. Denn es gibt Szenarien, ...

Heiß diskutierte Inhalte
Linux
Linux Server oder Windows Server - lohnt eine Umstellung auf Linux und ebenso basierende SW bei einer langfristigen Planung?
Frage von motus5Linux23 Kommentare

Wir brauchen bei uns einen neuen Server. Dieser wird als Fileserver, Domäne Controller sowie Exchange Server verwendet. Wir versuchen ...

DSL, VDSL
ISP Wechsel auf Vodefone Koax, Gebäudeverkabelung nur per Cat 7
solved Frage von wusa88DSL, VDSL18 Kommentare

Hallo Zusammen, ich bin momentan bei Mnet als Glasfaser Kunde und möchte Preis/Leistungs-Technisch zu Kabel Deutschland / Vodafone wechseln. ...

Windows Server
Domänencontroller trennen
Frage von Akit57Windows Server13 Kommentare

Hallo, ich hoffe das mir hier jemand meine Frage trotz der spärlichen Informationen die ich geben kann beantworten kann: ...

LAN, WAN, Wireless
Kommunikation zwischen verschiedenen IP-Bereichen
Frage von DirkHoLAN, WAN, Wireless13 Kommentare

Hallo zusammen, von Unitymedia habe ich ein neues Modem (Connect Box) erhalten, das u.a. IPv4 aber keinen Bridge Mode ...