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 Löschvorgang automatisieren

Mitglied: Franzmann

Franzmann (Level 1) - Jetzt verbinden

12.10.2006, aktualisiert 08.01.2015, 4075 Aufrufe, 12 Kommentare

Hallo alle zusammen,
hoffe jemand weiß wie ich folgendes Problem realisieren kann.
Ich hab unter Windows einen Ordner Versionen der bsp. die
Unterordner 1.1, 1.2, 1.3, 1.4, 1.5 beinhaltet.

436b96362e69b05493730f4f8c8ff96a-bild - Klicke auf das Bild, um es zu vergrößern

Wie kann ich realisieren das mir per Skript alle Unterordner außer dem Aktuellsten, in diesem Fall 1.5, gelöscht werden ? Die 5 Unterordner sind vom Ursprung alle gleich alt, so dass man nicht nach dem Erstellungsdatum gehen kann.
Hoffe die Problematik wurde klar...
Greetz
Mitglied: Biber
12.10.2006 um 14:53 Uhr
Moin Franzmann,

angenommen, der Parent-Ordner der "Versions-Verzeichnisse" 1.1; 1.2; .... 1.28g; .... 3.9a, 4.00;.. heißt D:\Versionen
und die Namenskonvention für die Versionsverzeichnisse sei "?.*" [eine Stelle vor dem Punkt, beliebige Stellen danach], dann:

Am Prompt:
01.
>for /f "skip=1" %i in ('dir /b /Ad /o-n D:\Versionen\?.*') do @ECHO rd /s /q %i
Das "@ECHO" nach dem erfolgreichen Testen ersatzlos löschen.
Als Batch jeweils zwei %-Zeichen statt ein %-Zeichen.

Gruß
Biber
Bitte warten ..
Mitglied: Franzmann
12.10.2006 um 15:22 Uhr
Hey Biber,
danke für deine Hilfe !
Also der Test mit @ECHO klappt wunderbar,
doch sobald ich das @ECHO wegnehme spuckt er folgendes aus:
C:\>for /f "skip=1" %i in ('dir /b /Ad /o-n D:\temp\?.*') do rd /s /q %i

C:\>rd /s /q 1.6
Das System kann die angegebene Datei nicht finden.

C:\>rd /s /q 1.5
Das System kann die angegebene Datei nicht finden.

C:\>rd /s /q 1.4
Das System kann die angegebene Datei nicht finden.

C:\>rd /s /q 1.3
Das System kann die angegebene Datei nicht finden.

C:\>rd /s /q 1.2
Das System kann die angegebene Datei nicht finden.

C:\>rd /s /q 1.1
Das System kann die angegebene Datei nicht finden.

Weißt du warum ?
mfg
Bitte warten ..
Mitglied: Biber
12.10.2006 um 15:41 Uhr
Jepp, Franzmann,

sorry, die Pfadangabe "D:\Versionen" (bei mir) bzw. "D:\temp" (bei Dir) muss natürlich auch beim RD-Befehl angegeben werden.

for /f "skip=1" %i in ('dir /b /Ad /o-n D:\temp\?.*') do rd /s /q D:\Temp\%i

Gruß
Biber
Bitte warten ..
Mitglied: Franzmann
12.10.2006 um 17:51 Uhr
Yoh aller erste Sahne... läuft wie sau !!!
Ich danke dir...
mfg
Bitte warten ..
Mitglied: bastla
12.10.2006 um 20:04 Uhr
@Biber

Wie würdest Du bei zusätzlichen (vor dem Punkt) zweistelligen Versionsnummern vorgehen - mit If Exist ??.* alle Einstelligen weg und dann wie gehabt?

Grüße
bastla
Bitte warten ..
Mitglied: Franzmann
13.10.2006 um 09:11 Uhr
Habe ein neues Bild geuploadet ! 436b96362e69b05493730f4f8c8ff96a-bild - Klicke auf das Bild, um es zu vergrößern
In diesen Ordnern die man auf dem Bild sieht, sind jeweils die einzelnen Versionsordner enthalten. Wenn ich die Batch da jeweils reinkopiere klappt das auch tadellos !
Nur will ich die halt nicht überall vorab reinkopieren, durchlaufen lassen und dann wieder löschen. Ich würde gerne einen Zusatz in die Batch schreiben und zwar eine allgemeine Pfadangabe mit der er sämtlich Ordner der reihe nach abarbeitet.
Problematisch wird es auch bei den unterschiedlichen Namen der Ordner, wie hier beispielhaft mit den Pfeilen markiert wurde. Wie muss sowas aussehen ?
mfg

Franzmann
Bitte warten ..
Mitglied: bastla
13.10.2006 um 10:01 Uhr
Hallo Franzmann!

Wenn der oben dargestellte Ordner "D:\Temp" heißt, werden durch die folgende Variante in allen darin befindlichen Ordnern mit 4-stelligen Bezeichnungen die entsprechenden Unterordner gelöscht:

01.
REM Nur zur Sicherheit in den richtigen Ordner wechseln ... 
02.
cd /d D:\Temp 
03.
for /f %a in ('dir /b /Ad ????') do for /f "skip=1" %i in ('dir /b /Ad /o-n %a\?.*') do @echo rd /s /q %a\%i
Soll keine Namenskonvention (nur 4-stellig) für die erste Ordnerebene ("A000", ..., "d0002", ...) berücksichtigt werden, so kannst Du "????" durch "*.*" ersetzen und damit alle Ordner in D:\Temp behandeln.

HTH
bastla
Bitte warten ..
Mitglied: Franzmann
13.10.2006 um 10:49 Uhr
Ja subba... auch das läuft prima !
Ich danke dir bzw. euch Beiden !!!
Die Batch hat mir meinen Zeitaufwand um mehr als 3/4 gekürzt dank euch...
Schönes Weekend !!!
Bis dahin...

Franzmann
Bitte warten ..
Mitglied: Biber
13.10.2006 um 13:01 Uhr
Hm, bastla,

ist kniffelig, weil ich beim DIR-Befehl mit "?"-Jokerzeichen das "Feature" habe, dass ein "?" ja bedeutet:
"Ein beliebiges Zeichen oder keins".
Sprich: wenn ich folgende Verzeichnis-Struktur hätte [alles VOR dem Punkt soll numerisch sein]
01.
d:\temp\test\1.1 
02.
d:\temp\test\1.2 
03.
d:\temp\test\1.3 
04.
d:\temp\test\1.4 
05.
d:\temp\test\1.5 
06.
d:\temp\test\9.4 
07.
d:\temp\test\10.1 
08.
d:\temp\test\10.2 
09.
d:\temp\test\10.2.3.4 
10.
d:\temp\test\10.5 
11.
d:\temp\test\10.7 
12.
d:\temp\test\10.7.1.3
[entspricht jetzt der Ausgabe von "dir /s /b d:\temp\test"]

--> dann würde ja die alphatische Sortierung des DIR-Befehls mit Wildcard "??" folgendes liefern:
[alle Beispiele am CMD-Prompt zur Demo]
01.
>dir /s /b /o-n d:\temp\test\??.* 
02.
d:\temp\test\9.4 
03.
d:\temp\test\10.7.1.3 
04.
d:\temp\test\10.7 
05.
d:\temp\test\10.5 
06.
d:\temp\test\10.2.3.4 
07.
d:\temp\test\10.2 
08.
d:\temp\test\10.1 
09.
d:\temp\test\1.5 
10.
d:\temp\test\1.4 
11.
d:\temp\test\1.3 
12.
d:\temp\test\1.2 
13.
d:\temp\test\1.1
Wenn also die Anforderung wäre, nur die höchsten n zweistelligen Version(en) zu löschen und auch einstellige "Versions-Verzwichnisse" vorhanden sein können, dann wäre die Mimik.

Fall a) Zweistellige sind vorhanden; alle einstelligen können deshalb ohnehin gelöscht werden:
Zuerst alle einstelligen Versionen löschen. Danach "zweistellige" behandeln:
01.
>for /f %i in ('dir /b /Ad /o-n d:\temp\test\?.*') do @rd /s /q d:\temp\test\%i 
02.
>for /f "skip=1" %i in ('dir /b /Ad /o-n d:\temp\test\??.*') do @rd /s /q d:\temp\test\%i

Fall b) Nur zweistellige Verzeichnisse sollen behandelt werden; einstellige bleiben wie sie sind.

[Zwischenschritt zur Verdeutlichung]
01.
<b>>for /f "delims=. tokens=1,*" %i in ('dir /s /b /o-n d:\temp\test\??.*') do @if %~nxi GTR 9 @echo %i.%j</b> 
02.
d:\temp\test\10.7.1.3 
03.
d:\temp\test\10.7 
04.
d:\temp\test\10.5 
05.
d:\temp\test\10.2.3.4 
06.
d:\temp\test\10.2 
07.
d:\temp\test\10.1
Diesen Output lasse ich mal in einer "inneren" FOR /F-Anweisung erzeugen.
Denn ich will ja davon, von diesem Output, die (gemäß logischer Sortierung) erste Zeile überspringen.

01.
>for /f "skip=1" %x in ('<b>for /f "delims=. tokens=1,*" %i in ^('dir /s /b /o-n d:\temp\test\??.*'^) do @if %~nxi GTR 9 @echo %i.%j</b>') do @echo rd /s /q d:\temp\test\%x 
02.
rd d:\temp\test\d:\temp\test\10.7 
03.
rd d:\temp\test\d:\temp\test\10.5 
04.
rd d:\temp\test\d:\temp\test\10.2.3.4 
05.
rd d:\temp\test\d:\temp\test\10.2 
06.
rd d:\temp\test\d:\temp\test\10.1
Gruß
Biber
Bitte warten ..
Mitglied: bastla
13.10.2006 um 13:50 Uhr
Hallo Biber!

Was machst Du eigentlich mit dem d:\temp\test\x.* in

01.
for /f %i in ('dir /b /Ad /o-n d:\temp\test\?.* d:\temp\test\x.*') do @rd /s /q d:\temp\test\%i
(und, ganz nebenbei, kann ich einen Teil eines "Schnipsels" beim Posten - innerhalb eines code-Blocks - mit einer Formatierung irgendwie hervorheben)?

Grüße
bastla
Bitte warten ..
Mitglied: Biber
13.10.2006 um 14:42 Uhr
@bastla

Das hatte ich vergessen zu löschen.. war vom Testen am CMD-Prompt übriggebileben:
01.
for /f %i in ('dir /b /Ad /o-n d:\temp\test\?.* <b>d:\temp\test\??.*</b>') do @rd /s /q d:\temp\test\%i
.. so hatte ich probiert, was das Ergebnis wäre, wenn ich erst die Ein-, dann die zweistelligen "Versions"-Verzeichnisse abarbeite. Käme aber nur Müll raus.

Dann hatte ich das "??.*" durch "x.*" ersetzt und vergessen.
Ich lösche es oben raus.

Die Formatierung fett zum Beispiel klappt auch innerhalb der Formatierung "Code".

Gruß
Biber
Bitte warten ..
Mitglied: bastla
13.10.2006 um 14:46 Uhr
@Biber

Na, da bin ich ja beruhigt ...

... und danke für den Formatierungstipp - hatte ich wohl an unpassender Stelle probiert ...

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Filezilla automatisieren
Frage von 132351Batch & Shell13 Kommentare

Hallo Hat es schon jemand geschafft Filezilla zu automatisieren? Die Verbindung zum FTP kann ich per Batch herstellen. Was ...

Batch & Shell

Windows Ereignisse Tracen und automatisieren?

gelöst Frage von Xanathos57Batch & Shell11 Kommentare

Hallo Administratoren, das ist mein erster Post in eurem Forum, also seid mir nicht böse falls iirgendwas nicht passt ...

Windows 10

Windows 10 Einrichtung Automatisieren

Frage von DallensteinWindows 105 Kommentare

Hallo. Ich werde in den nächsten Wochen eine ganze Menge PC mit vorinstalliertem Windows 10 Home einrichten müssen. Das ...

Windows Systemdateien

Windows Updates automatisieren mit CMD

Frage von VidcrafterWindows Systemdateien3 Kommentare

Hallo, habt ihr eine Idee wie man die Updates von Windows mithilfe von einer CMD automatisieren kann, dass heißt ...

Neue Wissensbeiträge
Windows 10

Mikrofon von Headset geht nach Update auf Windows 10 1803 nicht mehr

Tipp von Deepsys vor 1 TagWindows 10

Ich verwende ein Plantronics Headset das per USB mit dem Windows 10 PC verbunden ist. Damit kann ich auch ...

Video & Streaming

Ruckelfreies Fernsehen auf Smartphone oder Tablet - in SD oder gar HD - Eine Alternative zum Fritz DVB-C Receiver

Anleitung von power-user vor 1 TagVideo & Streaming9 Kommentare

Wer kennt das nicht: Man möchte gemütlich auf dem Balkon sitzen und vielleicht grillen und dabei das WM-Spiel gucken ...

Erkennung und -Abwehr
Trendmicro WFBS 10 ist in deutsch verfügbar!
Tipp von VGem-e vor 2 TagenErkennung und -Abwehr4 Kommentare

Servus Kollegen, downloadbar unter

Windows Update

Microsoft Patchday Juni 2018 - BSOD, obwohl noch kein Patch freigegeben

Erfahrungsbericht von diemilz vor 2 TagenWindows Update7 Kommentare

Hallo zusammen, wir hatten hier letzte Woche ein massives Problem. Alles begann damit, dass ein Mitarbeiter kurz vor Feierabend ...

Heiß diskutierte Inhalte
Windows Userverwaltung
User Überwachung
gelöst Frage von YellowcakeWindows Userverwaltung37 Kommentare

Hey ich habe von unserem neuem Datenschutzbeauftragten ein kleines Horror Paket bekommen. Ich soll wenn es möglich ist, das ...

Windows Installation
Adobe Reader noch notwendig?
gelöst Frage von EitieOSWindows Installation25 Kommentare

Muss ich mir noch die Arbeit machen und den Adobe Reader installieren und aktuell halten, wenn doch in Win10 ...

Video & Streaming
PVR-Projekt - RTSP - Streams auf NAS aufnehmen - welche Tools sind am leichtesten einzurichten ?
Frage von power-userVideo & Streaming21 Kommentare

Hallo zusammen, hier die Details zur obigen Frage: AAusgangspunkt / Grundvoraussetzungen Wir betreiben hier ein kleines Heimnetzwerk. 2 Smartphones, ...

Outlook & Mail
Nachweis des Löschens einer Email nach DSGVO in Outlook
Frage von linuxadmOutlook & Mail18 Kommentare

Hallo Forum, wie wahrscheinlich viele von Euch kämpfe ich mit der Umsetzung der DSGVO bei meinen Kunden. Konkret geht ...