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, 14327 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 ...

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 ...

Batch & Shell

BATCH ini Datei Datei auslesen

gelöst Frage von Juergen42Batch & Shell2 Kommentare

Hallo zusammen, ich möchte eine ini Datei auslesen mit folgenden Aufbau INHALT DER INI ID=30 NAME="test1" PFAD="K:\Kontoauszug\Test1\*.pdf" PFAD_S="K:\Kontoauszug\Test1\Sicherung\" ID=28 ...

Neue Wissensbeiträge
Humor (lol)
Zuviel Speicher ist ungesund. :-)
Tipp von Lochkartenstanzer vor 5 StundenHumor (lol)8 Kommentare

Moin Kollegen, Heute hatte ich ein ungewöhnliches Aha-Erlebnis: Über das Wochenende habe ich einen einen 6 Jahre alten Bare-Metal ...

Windows Update

KB4517297 verfügbar, behebt Fehler in VB6 VBA VBScript

Information von sabines vor 7 StundenWindows Update

Das Update behebt mögliche Fehler in VB6, VBA und VBScript, die durch das Update KB4512486 vom August entstanden sind. ...

Viren und Trojaner

Staatstrojaner soll auch per Einbruch installiert werden können

Information von transocean vor 1 TagViren und Trojaner3 Kommentare

Moin, Bundesinnenminister Horst Seehofer will dem Verfassungsschutz Wohnungseinbrüche erlauben, um den geplanten Staatstrojaner zu installieren. Gruß Uwe

Windows 7
Win7 Update scheitert KB4512506
Information von infowars vor 2 TagenWindows 7

Falls jemand auch das Problem hat mit dem: Monatliches Sicherheitsqualitätsrollup für Windows 7 für x64-basierte-Systeme (KB4512506) Das scheint mit ...

Heiß diskutierte Inhalte
Switche und Hubs
Glasfaser-Anschluss Telekom muss verteilt werden
Frage von cansoniSwitche und Hubs33 Kommentare

Vorweg: Bin nur Anwender und kein Experte Die Situation: Der Vermieter stellt einen Glasfaseranschluss in der Wohnung bereit. Wir ...

Hyper-V
Bei Neuaufbau auf Core-Server setzen?
gelöst Frage von dertowaHyper-V32 Kommentare

Hallo zusammen, ich habe vor einigen Monaten die Verantwortung für eine EDV-Landschaft übernommen die seit Jahren von einem Dienstleister ...

Hyper-V
VMs von Hyper-V auf externer Festplatte
gelöst Frage von SnowbirdHyper-V18 Kommentare

Hallo, ich möchte gerne von VirtualBox auf Hyper-V umsteigen und würde auch gerne weiterhin meine VMs auf der externen ...

Festplatten, SSD, Raid
SSDs durch Lagerung ohne Strom nach 6 Monaten defekt?!?
gelöst Frage von GlobetrotterFestplatten, SSD, Raid17 Kommentare

Moin Gemeinde Ich hatte gerade nen Trauerspiel Habe hier etliche NAS-Geräte herumfahren welche ich mal auf die Seite gelegt ...