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

Frage Entwicklung Batch & Shell

GELÖST

Dateien / Verzeichnisse löschen, außer...

Mitglied: kugman

kugman (Level 1) - Jetzt verbinden

31.07.2006, aktualisiert 17:59 Uhr, 13808 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
Alle Dateien außer zip löschen
gelöst Frage von chb1982Batch & Shell4 Kommentare

Hallo zusammen, hat jemand eine Idee wie ich es schaffe alle Dateien, außer die eines bestimmten Dateityps in einem ...

Batch & Shell
Alle Dateien löschen, außer DateiA
gelöst Frage von o0Julia0oBatch & Shell2 Kommentare

hi, ich möchte alle Datein in einem Verzeichnis relativ zum Ort der Batch löschen. Außerdem möchte ich 2 bestimmte ...

Windows Server
Verzeichnisse löschen
Frage von MiStWindows Server2 Kommentare

Hallo, ich habe folgendes Problem. von einem Client habe ich auf einem Netzpfad (Netzwerkfreigabe) ein Verzeichnis angelegt. Wenn ich ...

Debian
Dateien löschen außer die neuesten mit Hilfe von tail und xargs
gelöst Frage von FalkITDebian11 Kommentare

Hi zusammen, ich will jeden Abend ein Script laufen lassen, welches in verschiedenen Ordnern, alle Dateien bis auf die ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 1 TagLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 1 TagTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 1 TagSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 1 TagSicherheit9 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Sicherheit
Meltdown und Spectre: Die machen uns alle was vor
Information von FrankSicherheit29 Kommentare

Aktuell sieht es in den Medien so aus, als hätten die Hersteller wie Intel, Microsoft und Co den aktuellen ...

Ubuntu
Ubuntu - Starter für nicht vertrauenswürdige Anwendungen
Frage von adm2015Ubuntu17 Kommentare

Hallo zusammen, Ich verwende derzeit die Ubuntu Versionen 17.10 bzw. im Test 18.04. Ich habe mehrere .desktop Dateien in ...

SAN, NAS, DAS
Hilfe beim Einrichten eines Storages (SAN)
gelöst Frage von Vader666SAN, NAS, DAS15 Kommentare

Hallo Admins! Ich bin in einer kleineren Firma und hatte bisher mit dem Thema SAN nur in meiner Ausbildung ...

Batch & Shell
Meltdown Microsoft Prüf Script - .zip Datei leider leer
gelöst Frage von MasterBlaster88Batch & Shell13 Kommentare

Hallo zusammen, ich patche gerade unsere Windows Server bzgl. der Meltdown Lücke. Patch vorhanden, Reg Keys gesetzt Um das ...