000
29.06.2004, 13:10 Uhr
aklaeser
|
So erst mal mein Code:
C++: |
void ReadCopyDir(CString dir) { WIN32_FIND_DATA data; CString filename = ""; CString temp = dir; CString t_filename = "";
dir = dir + "\\*.*";
//AfxMessageBox(dir); HANDLE h = FindFirstFile(dir, &data); if (INVALID_HANDLE_VALUE == h) cout << "Error HANDLE_VALUE\n";
//Leere SChleife da, wenn Dateien schon vorhanden sind, diese nicht erkannt werden do { //filename = filename; MessageBox(NULL, filename, CString("Schleife1"), MB_ICONINFORMATION); } while (FindNextFile(h, &data));
//Schleife die jetzt die Berechtigungen setzt durch erstellen von Kopien HANDLE f = FindFirstFile(dir, &data); if (INVALID_HANDLE_VALUE == h) cout << "Error HANDLE_VALUE\n";
do { filename = ""; filename = temp + "\\" + data.cFileName; t_filename = filename;
//MessageBox(NULL, filename, CString("Schleife2"), MB_ICONINFORMATION);
t_filename.Delete(filename.GetLength() - 3, 3); //Kopie der Datei erstellen im selben Ordner die die richtigen Securityeisntellungen hat CopyFile(filename, t_filename, FALSE); //Original löschen DeleteFile(filename); //Kopie in Original umbenennen CopyFile(t_filename, filename, FALSE); //Kopie löschen DeleteFile(t_filename); } while (FindNextFile(f, &data)); }
|
Jetzt zu meinem Problem: Also ich verschiebe Dateien in einen Ordner, dann lauf ich durch die erste Schleife, dann die Zweite und erstelle dort die Dateien neu um meine Berechtigungen dem Ordner anzupassen, funktioniert so einwandfrei, wenn ich aber in der ersten Schleife die MessageBox weglasse funktioniert das ganze nicht mehr sondern nur noch mit ein paar Dateien die in dem Ordner sind. Woran liegt das? |