Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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 bestimmte Dateien löschen

Frage Entwicklung

Mitglied: rubono

rubono (Level 1) - Jetzt verbinden

31.07.2012 um 11:40 Uhr, 5574 Aufrufe, 8 Kommentare

Hallo,

ich habe ein Frage zu Batch

ich muss mehrere Ordner auf die Unterordner mit Namen "Bios" untersuchen und in diesen "Biosordnern" die 2 neuesten Versionen der darin enthaltenen Dateien beibehalten, die restlichen sollen gelöscht werden. Ich habe es bis jetzt geschafft die Pfade der Ordner aufzulisten und in eine Textdatei zu speichern mit: "dir /a:d /b /s Y:\Ordnername\*bios >datei.txt".
Nun würde ich gerne diese Textdatei zeilenweise auslesen und oben genannte Aufgabe ausführen.
Ich hoffe es kann mir jemand helfen.

Gruß rubono
Mitglied: bastla
31.07.2012 um 12:25 Uhr
Hallo rubono und willkommen im Forum!

Dazu brauchst Du doch keine Datei zu verwenden - ungetestet etwa so:
01.
for /f "delims=" %%i in ('dir /s/b/ad "Y:\Ordnername\*bios"') do ( 
02.
    for /f "skip=2 delims=" %%a in ('dir /b/o-d "%%i"') do echo del "%%i\%%a" 
03.
)
Solange das "echo" vor dem "del" steht, passiert noch nix - die Löschbefehle werden nur angezeigt; wenn's gut aussieht, einfach das "echo" entfernen ...

Grüße
bastla
Bitte warten ..
Mitglied: Karo
31.07.2012 um 12:26 Uhr
Moin,

01.
for /F "eol=; tokens=* DELIMS=" %%i in (Datei.txt) do dir %%i /b /O-D>datei2.txt && for /F "eol=; tokens=* DELIMS= SKIP=2" %%i in (Datei2.txt) do @ECHO %%i
Das echo am Ende muss natürlich durch Dein Delete mit Pfad ersetzt werden, aber zum testen lieber trockenschwimmen ...

bye
Karo
Bitte warten ..
Mitglied: Karo
31.07.2012, aktualisiert um 12:28 Uhr
@bastla
*LOL* lasse dem Meister natürlich den Vortritt

Gruß

Karo
Bitte warten ..
Mitglied: bastla
31.07.2012 um 12:37 Uhr
@Karo
Danke - ist aber beides (der Vortritt und die Titulierung) nicht nötig ...

Grüße
bastla

P.S.: Ich war vermutlich auch nicht schneller, sondern habe nur früher angefangen ...
Bitte warten ..
Mitglied: rubono
31.07.2012 um 14:25 Uhr
wow danke für die superschnelle antwort
ihr habt mir sehr geholfen dankeschön !

gruß

rubono
Bitte warten ..
Mitglied: rubono
02.08.2012 um 14:07 Uhr
eine Frage hätte ich noch
könntet ihr mir die einzelnen zeilen erklären ?
Verstehe quasi nichts davon ausser das es zwei for schleifen sind

Gruß

rubono
Bitte warten ..
Mitglied: bastla
02.08.2012, aktualisiert 03.08.2012
Hallo rubono!

Dann wollen wir mal:
for /f "delims=" %%i in ('dir /s/b/ad "Y:\Ordnername\*bios"') do (
liefert in %%i alle Ordner (wegen "/ad") unterhalb von "Y:\Ordnername", die dem Muster "*bios" entsprechen - und zwar inkl Pfadangabe (wegen "s") - das wusstest Du aber schon .
for /f "skip=2 delims=" %%a in ('dir /b/o-d "%%i"') do echo del "%%i\%%a"
listest dann in weiterer Folge für jeden dieser Unterordner die enthaltenen Dateien (zur Sicherheit wäre noch ein "/a-d" zu empfehlen) absteigend nach Änderungsdatum sortiert ("/o-d") auf und löscht sie (da nur Dateinamen geliefert werden, ist die Angabe des Ordnerpfades - steht in "%%i" - erforderlich), wobei wegen des "skip=2" die ersten beiden Dateien (und somit die beiden jüngsten) übersprungen werden.

Grüße
bastla
Bitte warten ..
Mitglied: rubono
03.08.2012 um 08:40 Uhr
Hallo bastla

vielen Dank jetzt ist alles klar

Grüße rubono
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch mit forfiles - Dateiendung filtern - Dateien löschen (2)

Frage von mschaedler1982 zum Thema Batch & Shell ...

Batch & Shell
gelöst Win7-Batch - bestimmte Ordner in TEMP löschen (1)

Frage von jan99 zum Thema Batch & Shell ...

Batch & Shell
gelöst Doppelte Dateneinträge per Batch aus Datei löschen? HILFE (7)

Frage von freshman2017 zum Thema Batch & Shell ...

Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(1)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Router & Routing

PfSense auf Supermicro Intel Xeon D-15x8 SoC Bare Bone

Tipp von Dobby zum Thema Router & Routing ...

Heiß diskutierte Inhalte
Windows 10
Windows für Privatanwender "nicht mehr handhabbar" (26)

Frage von FA-jka zum Thema Windows 10 ...

LAN, WAN, Wireless
Brauche Hilfe: Mit (schnellem) WLAN Strecke überbrücken (23)

Frage von pierrehansen zum Thema LAN, WAN, Wireless ...

Basic
Programmierung von Windows Programmen (10)

Frage von Ghost108 zum Thema Basic ...