Dateien Löschen ?????

Mitglied: 687

687

26.03.2002, aktualisiert 31.08.2006, 32604 Aufrufe, 9 Kommentare

Hallo Leute,
habe auf unserem Server Diverse CAD Programme am laufen, und diese produzieren bei bestimmten Berechnungen Dateien die nicht Automatisch gelöscht werden (*.sli, *.smf, *.vmf, *.ctl, *.crg, *.odf, *.mmp, *_s.stl ).
Ich möchte nun diese Dateien jeden Tag Automatisch Löschen wenn sie ab dem Heutigen Datum Älter als z.b. 14 Tage sind.
Denn Sofort Löschen ist nicht möglich da manche Dateien noch ein paar Tage nach ihrer Entstehung gebraucht werden.
Ist Jemanden eine Lösung meines Problems via Batch oder Programms bekannt.

THX John
Mitglied: ggedv
27.03.2002 um 08:27 Uhr
Einfach ein Perl-, WSH- oder VBS-Script schreiben, der die Festplatte bzw. bestimmte Verzeichnisse durchsucht und Dateien nach bestimmten Kriterien (in Deinem Fall das Datum) selektiert und löscht. Das kannst Du jeden Tag mit dem "Geplante Tasks" zu einer bestimmten Uhrzeit ausführen lassen.

Solche Scripte zu schreiben ist nicht schwer. Hilfe findest Du z. B. unter
http://msdn.microsoft.com/scripting.

Achtung bei Antivirus-Programmen. Manche haben eine Einstellung, die Ausführung aller Scripte mit Zugriff auf Dateisystem verhindern. Das hat Auswirkungen nicht nur auf die o. g. Script-Sprachen, sondern auch auf z. B. PHP, CGI (z. B. Perl), JSP oder ASP.

CU

Gregor Gabor
http://www.NThelp.de
Bitte warten ..
Mitglied: Floh
02.02.2005 um 18:29 Uhr
http://www.ashergul.net/executables/DeleteOlderFilesThan.exe

Nachdem ich eine ähnliche aufgabenstellung heute hatte und mir das rumgesuche im internet nach ein paar minuten zu blöd wurde hab ich eben schnell ein entsprechendes konsolen programm geschrieben.
obiger link führt zur exe, anbei noch der quellcode falls es jemand verändern möchte, für seine bedürfnisse (benötigt MFC)

Das Programm arbeitet noch nicht rekursiv in den verzeichnissen sondern nur im angegeben verzeichnis.

deleteFilesOlderThan.cpp : Definiert den Einsprungpunkt für die Konsolenanwendung.
Aufgabe:
Lösche Dateien älter als ein betimmter Zeitraum vom heutigen Tag zurückliegend
Parameter:
/del Löscht die Dateien
/show Zeigt die Dateien welche in den Zeitraum fallen
timespan Zeitspanne dateien älter als heute-Zeitspanne (in Tagen) werden gelöscht
path Pfad zum Verzeichnis welches nach zu löschenden Dateien durchsucht werden soll
// extension Dateiendung nach welcher gesucht werden soll

#include "stdafx.h"
#include <stdio.h>
#include <afx.h>


int main(int argc, char* argv[])
{
WIN32_FIND_DATA FindFileData;
HANDLE hFind = INVALID_HANDLE_VALUE;
CTime tmNow,tmPast,tmMaxPast;
CTimeSpan tmDiff;
char action[5], directory[MAX_PATH],tmpDirectory[MAX_PATH], Extension[10];
int timespn;
char DirSpec[MAX_PATH];
DWORD dwError;

switch (argc) {

case 5 :
strcpy(action,argv[1]);
timespn = atoi(argv[2]);
strcpy(directory,argv[3]);
strcpy(Extension,argv[4]);
break;
default : printf("\nUSAGE:\t DeleteFilesOlderThan.exe [/del | /show] timespan path extension\n/del\tdelete the found files\n/show\tshow the files which will be deleted\n\ntimespan\tfiles older than timespan (in days) will be selected to show or\t\t\tdelete\npath\t\tpath to the directory which should be searched for older files\nextension\tfileextensions which should be found (* = all Files, *.exe search EXE-Files only)\n\n"); break;
}
tmDiff = CTimeSpan(timespn-1,0,0,0);
if (action) {
tmNow = CTime::GetCurrentTime();
tmMaxPast = tmNow - tmDiff;
strncpy(DirSpec,directory,strlen(directory)+1);
strcat(DirSpec,"\\");
strcat(DirSpec,Extension);

hFind = FindFirstFile(DirSpec, &FindFileData);
if (hFind == INVALID_HANDLE_VALUE) {
printf("Invalid file handle. Error is %u\n",GetLastError());
return -1;
} else {
if (!(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) {
tmPast = CTime(FindFileData.ftLastWriteTime);
printf("%s\t",tmPast.Format("%d.%m.%Y"));
printf("%s\t",FindFileData.cFileName);
if ((tmMaxPast > tmPast) && !stricmp(action,"/del")) {
printf("\tis deleted");
strcpy(tmpDirectory,directory);
strcat(tmpDirectory,"\\");
strcat(tmpDirectory,FindFileData.cFileName);
DeleteFile(tmpDirectory);
}
if ((tmMaxPast > tmPast) && !stricmp(action,"/show")) {
printf("\twill be deleted");
}
printf("\n");
}
while (FindNextFile(hFind, &FindFileData)) {
if (!(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) {
tmPast = CTime(FindFileData.ftLastWriteTime);
printf("%s\t",tmPast.Format("%d.%m.%Y"));
printf("%s\t",FindFileData.cFileName);
if ((tmMaxPast > tmPast) && !stricmp(action,"/del")) {
printf("\tis deleted");
strcpy(tmpDirectory,directory);
strcat(tmpDirectory,"\\");
strcat(tmpDirectory,FindFileData.cFileName);
DeleteFile(tmpDirectory);
}
if ((tmMaxPast > tmPast) && !stricmp(action,"/show")) {
printf("\twill be deleted");
}
printf("\n");

}

}
}
dwError = GetLastError();
FindClose(hFind);
if (dwError != ERROR_NO_MORE_FILES) {
printf("FindNextFile error. Error is %u\n",dwError);
return -1;
}
}
return 0;
}
Bitte warten ..
Mitglied: Floh
02.02.2005 um 18:33 Uhr
#include stdio.h
#include afx.h

jeweils mit den größer/kleinerzeichen
Bitte warten ..
Mitglied: Eric123
03.02.2005 um 10:32 Uhr
Möchte das programm gerne benutzen und benutzerdefiniert anpassen, was ist MFC ? Brauch das ja um etwas zu ändern...
Bitte warten ..
Mitglied: Floh
03.02.2005 um 10:58 Uhr
und das ganze wird von Visual C++ von Microsoft genutzt
Bitte warten ..
Mitglied: dergel
30.03.2005 um 17:00 Uhr
hi floh,
tolle sache...bin froh, das ich dieses tool hier gefunden habe.
bin leider im programmieren noch nicht eingestiegen :( face-sad
hätte jedoch anpassungsbedarf an dem tool
kann ich hier unterstützung von ihnen bekommen?
gerade diese rekursive abarbeitung der files und verzeichnisse wäre sehr interessant.
ist das viel aufwand?

...möchte logfiles in versch. verzeichniss-strukturen löschen.
die verzeichnissnamen werden automatisch generiert, kann somit keine festen namen im batch mitgeben.

wäre klasse hier hilfe zu bekommen.
vielen dank vorab...

gruss,
dergel
Bitte warten ..
Mitglied: dergel
04.04.2005 um 09:56 Uhr
hallo zusammen,
das ganze hat sich erledigt...
habe einen weiteren artikel hier im board gefunden, der mir bei der lösung meines problems geholfen hat:

"Batch Datei: Alte Dateien nach gewissen Alter löschen"

danke an alle... (echt gutes tool, "delage32" von horst schaeffer)

so long,
dergel
Bitte warten ..
Mitglied: FrankFiedler
31.08.2006 um 13:47 Uhr
guckst Du unter

www.frank-f.de/sw/xdel/

Beispiel: xdel /D:[Dein Ordner\Deine Dateien],/A:6,/P:C:\Löschprotokoll\Mailinglisten.txt (Diesen Aufruf in Verknüpfung stecken nun in im Autostart unterbringen)

löscht alle Dateien vom Typ [Deine Dateien - *.*usw.] im angegebenen Ordner die älter als 6 Tage sind und führt ein Protokoll drüber.

--
Der Fiedler
Bitte warten ..
Heiß diskutierte Inhalte
Netzwerke
Windows 10 - Netzwerk Speedlimit?
alwayshungryVor 1 TagFrageNetzwerke17 Kommentare

Hallo, ich bin noch neu hier und hoffe, dass ihr mir helfen könnt. Gibt es eine Limitierung für Windows 10 bei der Netzwerkgeschwindigkeit? Leider ...

Windows Server
Lizenzrecht Microsoft HILFE!!!!
gelöst tAmtAm44Vor 15 StundenFrageWindows Server26 Kommentare

Guten Abend liebe Community, ich bin vor kurzen bei uns in der Firma für den Vertrieb unsere MS Lizenzen auserwählt worden. Leider habe ich ...

DNS
Domain überkleben
IT-EinsteigerVor 1 TagFrageDNS3 Kommentare

Guten Morgen, Ich habe mir einen WebSpace angemietet. Dieser läuft bspw. über die Domain storage.dienstleister.de. Jetzt ist das kein schöner Name und ich hätte ...

Festplatten, SSD, Raid
WD RED PRO Festplatte als "Recertified" und "white" gelabelt
gelöst Torsten2010Vor 1 TagFrageFestplatten, SSD, Raid5 Kommentare

Hallo, ich wollte heute die Firmen QNAP Nas mit neuen Festplatten bestücken. Beim Auspacken fiel mir sofort auf, das die Festplatten weiß gelabelt sind ...

Groupware
Anfängerfrage zu Teams, wie kann ich mit einer externen Person chatten?
StefanKittelVor 1 TagFrageGroupware7 Kommentare

Hallo, ich habe mal eine Anfängerfrage zur MS Teams. Ich habe einen M365 Business Basic Account mit meiner Domäne. Ich habe einen User mit ...

Windows 10
Inaccessible boot device bei Windows 10
jensgebkenVor 1 TagFrageWindows 1013 Kommentare

Hallo Gemeinschaft, habe Probleme bei einem Windows 10 Pro PC beim Start - blue screen mit inaccessible boot device habe folgendes probiert - automatische ...

SAN, NAS, DAS
FritzBox NAS - Hochladen von großen Dateien geht nicht
emeriksVor 1 TagFrageSAN, NAS, DAS14 Kommentare

Hi, (Habe die Kategorie "SAN, NAS, DAS" genommen, obwohl nicht 100% zutreffend.) Ich habe am Wochenende versucht bei einem Kumpel in der Ferne eine ...

Datenschutz
Ist Microsoft Office 365 grds. nicht DSGVO-konform?
imebroVor 17 StundenFrageDatenschutz13 Kommentare

Hallo, in einem anderen Thread hatte man mir als Alternative zum Analysetool "Tableau" das Programm "PowerBI" empfohlen, welches ich dann auch gekauft habe. Da ...