Ordner kopieren
-
hi
ich will einen Ordner in einen anderen Kopieren:
hier der Code:
tmp = tmpnam(NULL); filename = ""; filename = temp + "\\" + data.cFileName; t_filename = temp + "tmp"; sprintf(text, "%d %d", data.dwFileAttributes, FILE_ATTRIBUTE_DIRECTORY); //MessageBox(NULL, filename + " + " + CString(text), CString("s2") , MB_ICONINFORMATION); //printf("%s\n", tmp); if (data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { SHFILEOPSTRUCT shFileCopy; memset(&shFileCopy, 0, sizeof(shFileCopy)); shFileCopy.wFunc = FO_COPY; shFileCopy.fFlags = FOF_SIMPLEPROGRESS | FOF_NOCONFIRMATION; shFileCopy.fAnyOperationsAborted = TRUE; shFileCopy.lpszProgressTitle = CString("Kopieren..."); shFileCopy.pFrom = filename; shFileCopy.pTo = t_filename; SHFileOperation(&shFileCopy); }Wenn ich jetzt mein Programm ausführe bekomm ich immer eine Fehlermeldung dass die Datei nicht gelesen werden kann.
in filename steht der zu kopierende Ordner so:
C:\\test1\1
in t_filename dann
C:\\test1\1tmpWarum kopiert der jetzt den Ordner nicht in den t_filename Ordner?
-
An additional NULL character must be appended to the end of the final name to indicate the end of pFrom.
Außerdem weiß ich nicht genau, ob du direkt ein Verzeichnis angeben kannst - nimm lieber Wildcards:
Standard Microsoft® MS-DOS® wild cards, such as "*", are permitted in the file-name position.