Wie kann ich temporäre Dateien im Ordner Teporäre Internet Files löschen?
-
Wie kann ich temporäre Dateien im Ordner Teporäre Internet Files, insbesondere die index.dat löschen?
Gruß, Sonja!
-
Windows hat eine Datenträgerbereinigung. Wenn du die aufrufst kannst du anklicken ... bla bla .. siehst du dann.
Die index.dat kann man nur löschen wenn das Dateisystem nicht aktiv ist, wenn Windows gebootet ist geht es nicht.
Mit einer DOS-Bootdisk oder mit Linux oder oder oder geht das aber. Die wird trotz alle dem immer wieder neu erstellt.
-
Ich hatte eher an eine kleine C-Bibliotheksfunktion gedacht die diese Aufgabe übernehmen soll, die dann natürlich auch unter WINDOWS laufen soll.
Habe aber noch keine Ahnung wie sich das umsetzen läßt!Gruß, S.
-
Du kannst den Ordner der Dateien über die Umgebungsvariablen bestimmen (was glaub u.a. mit der Funktion "getenv" geht).
Und dann kannst du die Dateien darin mit zum Beispiel DeleteFile (ist das Standard??) löschen...So würd ichs zumindest mal angehen...
-
DeleteFile() Funktioniert leider nicht, da index.dat geöffnet, das heißt von WINDOWS gerade benutzt wird...
Trotzdem Danke!Sonja
-
Bei Daten die zum Zeitpunkt von Windows oder Programmen benutzt werden, ist das Löschen (dieser Daten zu diesem Zeitpunkt) sowieso ausgeschlossen, oder?
-
Es geht einfach nicht, basta. Außerdem Crossposting. Bei Hanseln die sich nen Frauennamen geben will aber scheinbar trotzdem jeder antworten...
-
und es geht doch! ich hab mal ein bißchen in der microsoft-dokumentation gestöbert und bin da auf die funktionen
#include <wininet.h> FindFirstUrlCacheEntry() FindNextUrlCacheEntry() DeleteUrlCacheEntry()gestoßen.
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
SHGetSpecialFolderPath() mit CSIDL_INTERNET_CACHE
und dann SHFileOperation() mit FO_DELETE
-
Hab auch mal sowas gemacht:
#include <iostream.h> #include <windows.h> #include <stdio.h> #include <string.h> typedef struct _WIN32_FIND_DATA { // Struktur für Find*File DWORD dwFileAttributes; FILETIME ftCreationTime; FILETIME ftLastAccessTime; FILETIME ftLastWriteTime; DWORD nFileSizeHigh; DWORD nFileSizeLow; DWORD dwReserved0; DWORD dwReserved1; TCHAR cFileName[ MAX_PATH ]; TCHAR cAlternateFileName[ 14 ]; }; WIN32_FIND_DATA wfd; HANDLE fHandle; void delDir(char*); char* WholePath; char* add(char*,char*, char*); int main () { cout << "Debug: -> Program start\n"; delDir("C:\\Dokumente und Einstellungen\\Besitzer\\Lokale Einstellungen\\Temporary Internet Files\\"); delDir("C:\\Dokumente und Einstellungen\\Besitzer\\Lokale Einstellungen\\Temp\\"); delDir("C:\\Dokumente und Einstellungen\\Besitzer\\Lokale Einstellungen\\Recent\\"); delDir("C:\\Dokumente und Einstellungen\\Besitzer\\Lokale Einstellungen\\Temporary Internet Files\\Content.IE5\\"); delDir("C:\\WINDOWS\\Temporary Internet Files\\"); delDir("C:\\WINDOWS\\Temporary Internet Files\\Content.IE5\\"); delDir("C:\\WINDOWS\\Cache\\"); delDir("C:\\WINDOWS\\Temp\\"); delDir("C:\\WINDOWS\\system32\\dllcache\\"); cout << "Debug: -> Programm end <-"; } void delDir( char *Path) { int number = 0; cout << "Debug: - Direction -> " << Path << " <-\n"; fHandle=FindFirstFile(add(Path,"*","file"),&wfd); // erstes Handle holen, öffnen FindNextFile(fHandle,&wfd); // zweites überspringen weil :/. while (FindNextFile(fHandle,&wfd)) // alle Datein durchspielen { number++; if ( remove(add(Path,wfd.cFileName,"file")) == -1 ) // löschen { if ( RemoveDirectory(add(Path,wfd.cFileName,"path")) == 1 ) { cout << "Debug: -> Dir successfully deleted <-\n"; } else { cout << "Debug - Error -> not deleted file <-\n"; } } else { cout << "Debug: -> File successfully deleted <-\n"; } } if (number == 0) { cout << "Debug: - Error -> No file in path <-\n"; } else { cout << "Debug: -> End deleting <-\n"; cout << "Debug: -> Filenumber " << number << " <-\n"; } FindClose(fHandle); // Handle abschliessen } char* add( char* Path, char *FileName, char* Search ) // Funktion für String Addition { WholePath = new char[strlen(Path)+strlen(FileName)+1]; // Länge festlegen strcpy(WholePath, Path); // erster String rein kopieren strcat(WholePath, FileName); // zweiter String anhängen if ( FileName != "*" ) { cout << "Debug: - Filename -> " << FileName << "<- searchmode -> " << Search << "\n"; } return WholePath; delete []WholePath; }Lg
-
Ob das so clever ist Systemordner zu löschen?
-
Wo wird ein Systemordner gelöscht?