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 Dateien / Verzeichnisse löschen, außer...

Mitglied: kugman

kugman (Level 1) - Jetzt verbinden

31.07.2006, aktualisiert 17:59 Uhr, 14143 Aufrufe, 4 Kommentare

ich möchte Dateien / Verzeichnisse per Batch löschen, aber mit einer Art Auschlussliste vergleichbar dem /EXCLUDE: - Schalter von XCOPY

Hallo zusammen,

ich habe ein kleines Problem, wo ich nicht mehr weiterkomme.

ich habe ein Stammverzeichnis, in dem Benutzerprofile liegen. Aus diesen Benutzerprofil-Pfaden möchte ich jeweils aus dem Ordner "Eigene Dateien" alles außer 3 bestimmte Ordner rauslöschen.

Wie kann ich das möglichst einfach per Batch-Datei machen?

im XCOPY gibt es den EXCLUDE-Schalter mit dem man eine Auschlussliste definieren kann. Im Prinzip such ich sowas für DEL bzw für RD

Vielen Dank für die Hilfe

gruß kugman
Mitglied: Biber
31.07.2006 um 16:17 Uhr
Hmmm, kugman,
etwas zumindest wirkungsvolles (wenn auch nicht nobelpreisverdächtiges) lässt sich über den Attrib-Befehl machen.

- die drei Dateien, die NICHT gelöscht werden sollen, vorher auf "unsichtbar"/Hidden setzen.
[im Batch mit
Attrib +h x:\Pfad1\datei1.xyz
Attrib +h y:\Pfad2\datei2.xyz
...]
- alle Dateien löschen mit del *.* A:-H /y [alles außer versteckten; ohne Bestätigung]
-Attribut der drei Dateien wieder auf "normal" setzen.
[im Batch mit
Attrib -h x:\Pfad1\datei1.xyz
Attrib -h y:\Pfad2\datei2.xyz
...]


Und die Namen der Dateien wiederum kannst Du ja aus einer Liste, also einer Textdatei holen statt sie fest einzugebrennen im Batchschnipsel.

So die Skizze.
Gruß
Biber
Bitte warten ..
Mitglied: kugman
31.07.2006 um 16:38 Uhr
Hallo Biber,

danke für den Tip.
Habe jetzt mal selber was geschnipselt, sit fürchterlich undynamisch, aber würde zur Not wohl auch funktionieren:

01.
::Definition der Pfade
02.
set quelle=x:\userxy\eigene dateien
03.
::Definition der NICHT zu löschenden Ordner:
04.
Set ORDNER1=Adobe
05.
Set ORDNER2=IBM
06.
Set ORDNER3=Recycler
07.
Set ORDNER4=Irgendwas
08.
Set ORDNER5=Eigene Datenquellen
09.
 
10.
 
11.
dir /ad/b "%quelle%" >ausgabe.txt
12.
 
13.
FOR /F "delims=\" %%i in (ausgabe.txt) do ( if not "%%i" == "%ORDNER1%" if not "%%i" == "%ORDNER2%" if not "%%i" == "%ORDNER3%" if not "%%i" == "%ORDNER4%" if not "%%i" == "%ORDNER5%" echo %%i >>loschen.txt )
14.
 
Hiermit kann ich für einen User ein DIR des Verzeichnisses, ohne die zu verschonenden Verzeichnisse erstellen, die Verzeichnisse, die in der Ausgabedatei loschen.txt stehen kann ich dann in einer weiteren FOR-Anweisung löschen.

das ganze muss ich dann eben noch kapseln, so dass es für alle User läuft, nicht nur für den einen...
Bitte warten ..
Mitglied: kugman
31.07.2006 um 17:25 Uhr
Ich habe die Lösung.

01.
@echo off
02.
::Definition der Pfade
03.
set quelle=\\servername\freigabe\userprofiles
04.
 
05.
::Definition der NICHT zu löschenden Ordner:
06.
Set ORDNER1=Adobe
07.
Set ORDNER2=IBM
08.
Set ORDNER3=Recycler
09.
Set ORDNER4=BlaBlaBla
10.
Set ORDNER5=Eigene Datenquellen
11.
 
12.
dir /ad /b "%quelle%" >users.txt
13.
 
14.
FOR /F "delims=\" %%1 in (users.txt) do (dir /ad/b "%quelle%\%%1\eigene Dateien" >%%1_ausgabe.txt) & (FOR /F "delims=\" %%i in (%%1_ausgabe.txt) do ( if not "%%i" == "%ORDNER1%" if not "%%i" == "%ORDNER2%" if not "%%i" == "%ORDNER3%" if not "%%i" == "%ORDNER4%" if not "%%i" == "%ORDNER5%" echo "%%i">>%%1_loschen.txt )) & (FOR /F "delims=\" %%l in (%%1_loschen.txt) do rd "%quelle%\%%1\eigene Dateien"\%%l /S /Q) & (FOR /F "delims=\" %%l in (%%1_loschen.txt) do del "%quelle%\%%1\eigene Dateien\%%l"\*.* /S /Q) 
15.
 
Bitte warten ..
Mitglied: Biber
31.07.2006 um 17:59 Uhr
Wenn es sich nur auf komplette Verzeichnisse beziehen soll, dann kannst Du es noch etwas vereinfachen, um dieses schwer wartbare....
01.
....do ( if not "%%i" == "%ORDNER1%" if not "%%i" == "%ORDNER2%" if not "%%i" == "%ORDNER3%" if not "%%i" == "%ORDNER4%" if not "%%i" == "%ORDNER5%" echo "%%i">>%%1_loschen.txt )) & (FOR /F "delims=\" %%l in (%%1_loschen.txt) do rd ...
....ein bisschen einzudampfen.

Lege die Zeilen, in denen Du bisher die %ORDNER1...5% definierst, als 5 Testzeilen in eine ExcludeDirs.txt in irgendeinen Pfad.
:----ExcludeDirs.txt
:: User-Unterverzeichnisse, die NICHT gelöscht werden solen.
Adobe
IBM
Recycler
BlaBlaBla
Eigene Datenquellen
:----ExcludeDirs.txt

Dann kannst Du statt
....do (if not dies if not das.....usw..usw... .. DO rd .....
dieses hier unten schrieben:
..do find /i "%%i" x:\pfad\ExcludeDirs.txt || rd DO.....

...heisst: Nur wenn das Verzeichnis NICHT in der ExcludeDirs.txt gefunden wird, dann wird es gelöscht.

Ist ein bisschen wartbarer und Du hast nicht jeden einzelnen Ordner mitten im Spaghetti-Sourcecode stehen. Denn (soweit ich gehört habe) könnte eine Fehlermeldung "Syntaxfehler" in einem einzeiligen Batch eine abendfüllende Suche bedeuten, wenn die Zeile ein paar tausend Zeichen lang ist... *gg

Funktionieren wird Dein Schnipsel aber auch, ohne Frage, von daher setze bitte den Beitrag ruhig auf "Gelöst", wenn keine Fragen mehr offen sind.

Gruß
Biber
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Verzeichniss überwachen Datei kopieren und umbenennen

gelöst Frage von fischle63Batch & Shell6 Kommentare

Hallo, Habe folgendes Problem: In einem Verzeichniss sind Dateien mit dem Suffix ".nd" enthalten. Bsp. "00000010.nd" Ich brauche eine ...

Microsoft Office

Per VBA im Verzeichniss dateien mit Wildcard umbenennen

gelöst Frage von usenussiMicrosoft Office4 Kommentare

Ich habe mit Access 2010 eine Datenbank erstellt die aus Amazon Daten mit einigen Abfragen zur Übergabe eine Liste ...

Sicherheitsgrundlagen

IIS+PKI Sperrlisten Verzeichniss soll nicht angezeigt werden

gelöst Frage von iceboxyzSicherheitsgrundlagen2 Kommentare

Hallo zusammen, ich habe gerade eine 2 Stufen PKI gebaut, die auch funktioniert. Sperrseite habe ich auf eine WEB ...

Batch & Shell

Vor dem Verzeichniss erstellen überprüfen ob Ordner vorhanden sind

Frage von TommylikBatch & Shell12 Kommentare

Hallo, Ich habe mir folgendes geschrieben: Funktioniert ohne Probleme. Es wird immer das Laufwerk D genutzt. Könnte mir einer ...

Neue Wissensbeiträge
Humor (lol)
Administrator.de Perlen
Tipp von DerWindowsFreak2 vor 3 TagenHumor (lol)6 Kommentare

Hallo, Heute beim stöbern auf dieser Seite bin auf folgenden Thread aus dem Jahre 2006 gestossen: Was meint ihr? ...

Erkennung und -Abwehr
OpenSSH-Backdoor Malware erkennen
Tipp von Frank vor 4 TagenErkennung und -Abwehr

Sicherheitsforscher von Eset haben 21 Malware-Familien untersucht. Die Malware soll Hintertüren via OpenSSH bereitstellen, so dass Angreifer Fernzugriff auf ...

iOS
WatchChat für Whatsapp
Tipp von Criemo vor 7 TageniOS5 Kommentare

Ziemlich coole App für WhatsApp User in Verbindung mit der Apple Watch. Gibts für iOS sowohl als auch für ...

iOS
IOS hat nen Cursor!
Tipp von Criemo vor 7 TageniOS5 Kommentare

Nette Funktion im iOS. iPhone-Mauszeiger aktivieren „Nichts ist nerviger, als bei einem Tippfehler zu versuchen, den iOS-Cursor an die ...

Heiß diskutierte Inhalte
Grafikkarten & Monitore
PCIe 1.0 Grafikkarte für 3840x2160
Frage von Windows10GegnerGrafikkarten & Monitore30 Kommentare

Hallo, mein Vater hat einen neuen Monitor gekauft, welcher eine native Auflösung von 3840*2160 hat. Diese muss jetzt auch ...

Windows Server
Dienstnamen und oder Deutsche und Englische Beschreibung in services.msc gleichzeitig anzeigen
gelöst Frage von vafk18Windows Server23 Kommentare

Guten Morgen, die Suche nach Diensten in services.msc gestaltet sich immer wieder schwierig, weil mir je nach Aufgabe die ...

JavaScript
Javascript: WebSql
gelöst Frage von internet2107JavaScript17 Kommentare

Guten Morgen zusammen, zunächst einmal einen schönen dritten Advent. Ich habe ein Problem mit Javascript und WebSQL. Bisher habe ...

Windows Server
Kleine Umfrage: Windows Server Desktop oder Core?
Frage von doomfreakWindows Server17 Kommentare

Hey :) Ich wollte mal eine kleine Umfrage hier starten. Ich bin schon etwas länger auf dieser Seite hier ...