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

Ordner mit Inhalt chronologisch löschen!

Frage Entwicklung Batch & Shell

Mitglied: sirheld

sirheld (Level 1) - Jetzt verbinden

18.11.2005, aktualisiert 20.11.2005, 13327 Aufrufe, 9 Kommentare

Hallo, ich hätte eine Frage:

Meine Kameras schicken automatisch Bilder an 2 Festplatten und sobald sie voll sind hören sie auf jegliche Aufzeichnungne zu machen.


Nun würde ich gerne wissen, wie ich mit einem BATCH oder VBS Bilder, die vor 3 Tagen aufgenommen wurden, löschen kann.

Ich habe mittlerweile 2 verschiedene Arten gefunden, diese löschen jedoch nicht die Ordner selbst sondern nur den Inhalt. Deswegen kann ich sie nicht verwenden, da ich jeden Tag eine neue Directory (Datum) in die BATCH oder VBS Datei eingeben müsste. Ich will aber, dass alles, was vor 3 Tagen erstellt werden automatisch gelöscht werden.

Nun sende ich euch die 2 Arten von Möglichkeitne, womit man nur die Dateien löschen kann:


BATCH:
<font class="code">
FORFILES -pD:\Cam1 -s -m*.* -d-3 -c"cmd /c del 0x22@FILE0x22"
</font>

VBS:
<font class="code">
Const myPath ="D:\"
Set FileObj = Createobject("Scripting.FileSystemObject")

zeit = 3
Dim FileName
For Each FileName In FileObj.GetFolder(myPath).Files

If DateDiff("d", Now, FileName.DateLastmodified) <= -3 Then
FileObj.DeleteFile myPath & FileName.Name , True

End If
Next
</font>


Ich hoffe, dass mir hier irgendwer weiterhelfen kann
und verbleibe mit freundlichen Grüßen!
Mitglied: sirheld
18.11.2005 um 10:36 Uhr
kann mir denn niemand weiterhelfen
Bitte warten ..
Mitglied: Biber
18.11.2005 um 11:55 Uhr
Moin sirheld,
bin nicht ganz sicher, was jetzt Deine geplante Strategie ist - sollen nun "Tagesordner" angelegt und gelöscht werden oder in Zukunft nicht mehr?

Falls es nur darum geht, die Ordner auch zu entsorgen - das kannst Du auch mit diesem ForFiles-Utitily.

FORFILES -pD:\Cam1 -s -m*.* -d-3 -c"cmd /c if exist @PATH@RELPATH Rd @PATH@RELPATH /s /q"

Sonst formulier bitte nochmal um, was jetzt Dein Ziel ist.

Manchmal etwas langsam im Begreifen
Biber
Bitte warten ..
Mitglied: sirheld
18.11.2005 um 17:30 Uhr
hallo biber, vorerst bedanke ich mich mal für deine nachricht.

es exististieren 2 festplatten mit jeweils 4 ordnern:
Festplatte D: Cam1, Cam2, Cam3, Cam4
Festplatte F: Cam5, Cam6, Cam7, Cam8


In diesen werden täglich Ordner erstellt mit dem jeweiligen Datum: 20051118

Da die Speicherkapazität nur für 3-4 Tage ausreicht hört es auf neue Tage zu erstellen. Also
20051115
20051116
20051117
20051118

Nun würde ich gerne mit einem Tool täglich den am frühesten erstellten Ordner, in diesem Fall 20051115 löschen. Diesen Tool würde ich dann jeden Tag mit einem Task um 22:00 starten wollen, damit es am nächsten Tag für die nächsten Aufzeichnungen genügend Speicherplatz gibt.


Ich hoffe, dass ich mich jetzt besser ausdrücken konnte und danke dir nochmals.

Mit freundlichen Grüßen
Bitte warten ..
Mitglied: Biber
18.11.2005 um 17:47 Uhr
Jepp, sirheld,
jetzt verstehe ich es eher.. (muss aber nicht an Dir liegen *gg)

Also, dieses Problem ließe sich prinzipiell natürlich wie oben skizziert angehen, aber wäre ja Unsinn. Die "ForFiles.exe" bringt hier ja keinen richtig nach vorn - die ist ja so holzig programmiert, dass die Verfasserin sicherlich gute Privatkontakte zur M$-Qualitätskontrolle haben muss. Egal. Die beiden Vokabeln "M$" und "Qualitätskontrolle" wollte ich jetzt eigentlich nicht in einem Satz bringen, sonst eskaliert dieser Thread wieder.

Es gab hier im Bereich Batch & Shell schon ein oder zweimal die gleiche Anforderung, für die ich dann einen Lösungsvorschlag mit reinen Batchmitteln (auf jeden Fall ohne Forfiles) gepostet hatte.

Habe jetzt auf die Schnelle nur einen davon gefunden: <a href=http://www.administrator.de/bestimmten_Ordner_per_Batch-Datei_l%F6schen ... target="blank">bestimmten Ordner per Batch löschen</a>.
Lies Dich da mal ein - da müsste auch ein Link zum Vorgänger-Beitrag sein.

Falls Du damit nichts anfangen kannst - ich schau am WE noch mal rein ins Forum.
Erstmal schönes Wochenende.
Grüße Biber
Bitte warten ..
Mitglied: sirheld
18.11.2005 um 21:38 Uhr
FORFILES -pD:\Cam1 -s -m*.* -d-3 -c"cmd /c if exist @PATH@RELPATH Rd @PATH@RELPATH /s /q"


das klingt eigentlich auch interessant, aber es geht irgendwie nicht.
ich sehe aber auch den fehler nicht.


Da Biber derzeit nicht online ist, könnte mir vielleicht jemand anderer weiterhelfen. Auf jeden Fall wäre ich sehr dankbar.


@Biber: Danke nochmals. Dir auch noch ein schönes Wochenende.
Bitte warten ..
Mitglied: Biber
18.11.2005 um 22:58 Uhr
Hmmmm, sirheld,
habs eben auch noch mal probiert.. ForFiles ist für den Zweck nicht so gut verwendbar.
1. Es hängt an die Variable @RELPATH einfach einen Punkt an (wozu auch immer *kopfschüttel*) und schlimmer
2. Forfiles hat offensichtlich den Ordner @RELPATH schlauerweise selbst im Zugriff.. das heißt, wenn aus dem aktiven Prozess ForFiles.exe ein anderer Prozess aufgerufen wird, ist der Ordner @RELPATH (also "D:\Cam1.") tabu. Es kommt die Meldung:
"Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird." Wunderwelt Windows.

Mein Credo: Lass uns die ForFiles aus dem Spiel lassen und das ganze ähnlich wie bei domonomie in dem obigen Thread machen.
Es sei denn, jemand anderes findet durch Spielen mit der ForFiles noch eine gültige Syntax heraus.

Mit freundlichen Grüßen Biber, der die Programmiererin von ForFiles gerne auf ein Becks einladen würde
Bitte warten ..
Mitglied: sirheld
19.11.2005 um 00:01 Uhr
Hallo Biber,

ich hätte nun mal eine Batch-Datei, die das Problem lösen dürfte, nur muss ich sie für jeden einzelnen ordner erstellen und jedes einzelne starten. Ich hoffe, dass der PC bei dieser Sache mithalten wird.

Den genaueren Inhalt der Batch-Datei kann ich dir erst morgen schicken, da ich diese in der Firma gespeichert habe.

Das einzige Problem ist jedoch, dass das Fenster nicht automatisch geschlossen wird.
Hab es mit exit und cls versucht, klappt aber nicht. Könntest du mir diesbezüglich irgendwie weiterhelfen?

So ähnlich habe ich es in der Firma versucht:
FORFILES -pD:\Cam1 -s -m*.* -d-3 -c"cmd /c if exist @PATH@RELPATH Rd @PATH@RELPATH /s /q"exit

-> Klappt leider nicht. Wo müsste ich das exit einfügen, damit es auch geht?


Vielen Dank nochmals.

LG
Bitte warten ..
Mitglied: Biber
19.11.2005 um 01:03 Uhr
Auch wenn ich mich wiederholen sollte, sirheld,

die "ForFiles.exe" macht die Sache nicht einfacher. So, wie sie offensichtlich implementiert ist, öffnet sie eine weitere CMD-Shell in genau diesem Verzeichnis @RELPATH.
Das heißt, dieses Verzeichnis lässt sich nicht löschen, weil der Prozess "ForFiles" in diesem Verzeichnis steht.
Abgesehen davon ist die Mimik ja um die Ecke gedacht...eigentlich war ja der Ausgangspunkt, dass die ForFiles alle Dateien löscht, die älter als drei Tage sind. So unsauber, wie die Prüfung jetzt ist in dieser einen Zeile, würde das ganze Verzeichnis auch gelöscht werden, wenn nur eine einzige Datei enthalten ist, die dieses Kriterium erfüllt. Und 1498 andere Dateien erst 10 Minuten alt sind.
Dann lieber Verzicht auf Forfiles und saubere Trennung:
1. Schleife über die 2 Laufwerke x je 4 Ablageordner = 8 Verzeichnisse (können ja in deiner Dateiliste stehen, ist also variabel und wartbar genug)
2. In jedem dieser Verzeichnisse D:\CamX und F:\CamY
2a. für alle Verzeichnisse mit der Namenskonvention "JJJJMMTT" die drei neuesten feststellen (aufgrund Anlagedatum oder Dateiinhalt)
2b. Alle älteren wegknallen (sowohl Dateien und Unterverzeichnisse).
2c. Datum und Zeit und "Alles prima" in eine Logdatei schreiben... oder eben Datum und Zeit und "Zu kurz gedacht..Fehler da und dort."

Und da seh ich keine Stelle, an der ich die ForFiles brauchen kann. Du darfst Dir wünschen, ob wir das in *.vbs oder als *.bat durchziehen - ist ja beides fast fertig. Fehlt ja jeweils nur noch die Schleife drumherum und das Löschen der Alt-Verzeichnisse.
Auf gar keinen Fall wird es so enden, dass Du für jeden lumpigen Ordner einen eigenen Batch anpassen musst.. *lacht* .. dann bin ich ruckzuck meinen HalbMod-Job los hier im Forum.

So, Schicht für heute
Frank
Bitte warten ..
Mitglied: sirheld
20.11.2005 um 12:07 Uhr
Hallo, hab mein ziel auf eine ganz biedere art und weise erreicht.

wusste bis gestern nicht, dass leere ordner keinen speicherplatz wegnehmen, auch nicht wenn man 10000 leere ordner hat.


deswegen habe ich das so eingestellt, dass dieses forfiles tool jeden abend die dateien vor 3 tagen erstellt wurden löscht. leider löscht es die ordner nicht gleichzeitig mit, aber nachdem diese mich sowieso keinen speicherplatz kosten und nicht so störend sind, kann ich die einmal im monat oder irgnendwann auch selbst löschen.


FORFILES -pD:\Cam1 -s -m*.* -d-3 -c"cmd /c del @File /s /q"


Trotzdem bedanke ich mich bei Biber für die herzliche Hilfeleistung und verbleibe

Mit freundlichen Grüßen
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Windows 7
AppData Temp Ordner beim Abmelden löschen (9)

Frage von markaurel zum Thema Windows 7 ...

Exchange Server
Inhalt von Postfächern in Exchange löschen (9)

Frage von m.reeger zum Thema Exchange Server ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (17)

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

DSL, VDSL
DSL-Signal bewerten (14)

Frage von SarekHL zum Thema DSL, VDSL ...