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

Benötige Hilfe beim löschen der Ältesten Verzeichnis-Inhaltes

Frage Entwicklung Batch & Shell

Mitglied: Daniel0-S

Daniel0-S (Level 1) - Jetzt verbinden

26.07.2012 um 09:47 Uhr, 3059 Aufrufe, 4 Kommentare

Hallo ich benötige eure Hilfe bei einem Problem.
Ich bin derzeit eine Batch-Datei am schreiben die die Älteste Datei des Verzeichnisses Löscht sobald Sie die 31Datei im Verzeichnis wäre, d.H.
Sobald ein Limit von 30Dateien erreicht ist soll immer die Älteste Gelöscht werden.

Soweit so gut.
Ich hoffe ihr könnt mir weiterhelfen

Liebe Grüße Daniel
Mitglied: bastla
26.07.2012 um 10:01 Uhr
Hallo Daniel0-S und willkommen im Forum!

Ob Dir wohl zB dieser Beitrag bei Deiner Suche entgangen ist?

Grüße
bastla
Bitte warten ..
Mitglied: Daniel0-S
26.07.2012 um 10:09 Uhr
Ich hab ihn schon gesehen aber alle dort genannten Beispiele bzw. Lösungsvorschläge funktionieren nicht wirklich.

Vielleicht hilft es wenn ich erstmal meinen Code Poste und man einmal drüber schaut:
01.
@echo off & setlocal 
02.
 
03.
REM Aktuelles Datum wird gesetzt: 
04.
set jahr=%date:~-4%  
05.
set monat=%date:~-7,2% 
06.
set tag=%date:~-10,2% 
07.
set "Ordner=C:\Benutzer\Daniel\Desktop\BATCH(ROLF)\Verzeichnis\Archiv" 
08.
set Anzahl=30  
09.
 
10.
IF EXIST Verzeichnis goto RENAME 
11.
CD .. 
12.
MKDIR Verzeichnis 
13.
:RENAME 
14.
CD Verzeichnis 
15.
RENAME "*.txt" "ROLF_TESTDATEN_%jahr%_%monat%_%tag%.txt" 
16.
 
17.
REM Inhalt des Ordners wird ins Archiv übertragen 
18.
CD  
19.
IF Exist Archiv goto Kopieren 
20.
MKDIR Archiv 
21.
:Kopieren  
22.
move "*_%jahr%_%monat%_%tag%.txt" Archiv 
23.
 
24.
REM Hier kannst du deine Batch einfügen! 
25.
 
26.
:Löschen 
27.
REM Hier wird die älteste Datei immer gelöscht sobald der Ordner  
28.
REM mehr als 30 Dateien enthaelt.  
29.
for /f "skip=%Anzahl%" "delims=" %%i in ('dir /b /a-d /o-d "%Ordner%"') do set "Alt=%Ordner%\%%i"  
30.
del "%Alt%" 
31.
PAUSE 
32.
:ENDE 
33.
EXIT
Bitte warten ..
Mitglied: bastla
26.07.2012 um 11:38 Uhr
Hallo Daniel0-S!

Soferne ich Dein Vorhaben richtig interpretiere, soll die einzige *.txt-Datei, die es im Ordner "C:\Benutzer\Daniel\Desktop\BATCH(ROLF)\Verzeichnis" gibt, (einmal am Tag) mit dem Namenszusatzz "_JJJJ_MM_TT" versehen und in den Unterordner "Archiv" verschoben werden. In diesem Unterordner sollen danach nur die jüngsten 30 *.txt-Dateien verbleiben.

Falls das so gemeint ist (mit einer Beschreibung hast Du Dich ja sehr zurückgehalten ), dann etwa:
01.
@echo off & setlocal 
02.
set "Ordner=C:\Benutzer\Daniel\Desktop\BATCH(ROLF)\Verzeichnis" 
03.
set /a Anzahl=30 
04.
 
05.
set "Archiv=%Ordner%\Archiv" 
06.
 
07.
REM Aktuelles Datum wird gesetzt: 
08.
set "jahr=%date:~-4%" 
09.
set "monat=%date:~-7,2%" 
10.
set "tag=%date:~-10,2%" 
11.
 
12.
md "%Archiv%" 2>nul 
13.
for %%i in ("%Ordner%\*.txt") do move /-Y "%%i" "%Archiv%\ROLF_TESTDATEN_%jahr%_%monat%_%tag%.txt" 
14.
 
15.
REM Hier wird die älteste Datei immer gelöscht sobald der Ordner mehr als 30 Dateien enthaelt.  
16.
for /f "skip=%Anzahl% delims=" %%i in ('dir /b /a-d /o-d "%Archiv%\*.txt" 2^>nul') do del "%Archiv%\%%i" 
17.
PAUSE
Falls der Batch unbeaufsichtigt ausgeführt werden soll, wäre einerseits "PASUE" entbehrlich und andererseits noch eine Entscheidung zu treffen, was bei mehr als einer Textdatei im "Verzeichnis" passieren sollte (mit "move /-Y" wird noch nach dem Überschreiben gefragt - ein "move" alleine würde der Reihe nach alle Textdateien verschieben und dabei kommentarlos schon bestehende Dateien ersetzen ...

Grüße
bastla

P.S.:
alle dort genannten Beispiele bzw. Lösungsvorschläge funktionieren nicht wirklich.
ist vielleicht eher vor dem Hintergrund zu sehen, dass dort zB nicht
... "skip=%Anzahl%" "delims=" ...
steht ...
Bitte warten ..
Mitglied: Daniel0-S
26.07.2012 um 13:06 Uhr
So Bastla besten Dank für deine Hilfestellung habe es nun zum Laufengebracht
01.
set "Ordner=C:\Benutzer\Daniel\Desktop\BATCH(ROLF)\Verzeichnis"
Hier war schon der erste Fehler er erkennt "Benutzer" nicht sondern nur User
Desweiteren gab es hier noch Probleme:
01.
for /f "skip=%Anzahl% delims=" %%i in ('dir /b /a-d /o-d "%Archiv%\*.txt" 2^>nul') do del "%Archiv%\%%i"
Die sich so Lösen ließen:
01.
for /F "skip=%Anzahl% " %%i in ('dir /b /a-d /o-d "%Ordner%\"') do del %%i
Liebe Grüße
Daniel
Bitte warten ..
Ähnliche Inhalte
Neue Wissensbeiträge
Heiß diskutierte Inhalte
Festplatten, SSD, Raid
PC stellt nach dem Bios ab (20)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...

Server-Hardware
Einem Stromausfall entgegen wirken (19)

Frage von OIOOIOOIOIIOOOIIOIIOIOOO zum Thema Server-Hardware ...

iOS
16 iPads zentrall verwalten (18)

Frage von simonlohr zum Thema iOS ...

Windows 7
Freeware MSI Tool (13)

Frage von uridium69 zum Thema Windows 7 ...