Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo!

ich möchte ein koomplettes Verzeichnis kopieren.

Ich habe in der Hilfe gefunden, dass es dafür keine fertige Funktion gibt.

Jetzt wollte ich eine selber machen, aber vielleicht könnt Ihr mir helfen, ich komme nicht weiter...

Wenn ich den Dateinamen hätte, könnte ich ja in einer Schleife jede Datei einzeln kopieren.

Aber ich komme schonmal nicht an den Dateinamen.

So hab ichs gemacht:


bool CBaderDlg::CopyDir(CString csSourceDir, CString csDestinationDir)

{

	bool bCopyComplete = TRUE;

	WIN32_FIND_DATA FindFileData;

	HANDLE hFind;

	CString csTest;


	hFind = FindFirstFile(csSourceDir, &FindFileData);

	if (hFind == INVALID_HANDLE_VALUE)

		{

		MessageBox("Fehlercode: INVALID_HANDLE_VALUE","Dateifehler", MB_ICONSTOP);

		bCopyComplete = FALSE;

		}

	csTest = FindFileData.cFileName;



	return bCopyComplete;

}

Also das ganze soll jetzt den Dateinamen auslesen und den müsste ich ja dann in csTest finden. Tut es aber nicht! es tritt immer INVALID_HANDLE_VALUE auf.

Könnt ihr mir helfen??

DANKE!!! :)

Geschrieben

Also ich habe jetzt Quelle und Ziel gesetzt, aber es funktioniert nicht :-(

Was fehlt denn noch???


	SHFILEOPSTRUCT 			shCopy;


	shCopy.wFunc = FO_COPY;

	shCopy.pFrom = csSourceDir;     // C:\Test1\

	shCopy.pTo = csDestinationDir;   // C:\Test2\

	shCopy.fFlags = FOF_NOCONFIRMATION;


	SHFileOperation(&shCopy);

Geschrieben

Du solltest die gesamte Struktur mit 0 initialisieren. Sonst haben Member, die du nicht zuweist, zufällige Werte. Das ist nicht in deinem Interesse:

SHFILEOPSTRUCT shCopy [B]= {0}[/B];

pFrom und pTo brauchen doppelte Nullterminierung (sagt die MSDN Library).

Ansonsten kann ich nur auf meine Signatur verweisen. Welchen Rückgabewert bekommst du denn?

Geschrieben
Du solltest die gesamte Struktur mit 0 initialisieren. Sonst haben Member, die du nicht zuweist, zufällige Werte. Das ist nicht in deinem Interesse:

SHFILEOPSTRUCT shCopy [B]= {0}[/B];

pFrom und pTo brauchen doppelte Nullterminierung (sagt die MSDN Library).

Ansonsten kann ich nur auf meine Signatur verweisen. Welchen Rückgabewert bekommst du denn?

Vielen Dank für Deine Hilfe,

aber es kopiert immer noch nicht :rolleyes:

Gebe ich die Quelle so an: "C:\\test" kopiert es nicht und SHFileOperation gibt NULL zurück.

Und gebe ich die Quelle so an: "C:\\test\\" sagt er, dass auf dem Datenträger nicht gelesen werden kann.

Sorry, wenn ich Deine Geduld so sehr straperziere...

Ich lade Dich mal zu nem Eis ein :)

Geschrieben
Vielen Dank für Deine Hilfe,

aber es kopiert immer noch nicht :rolleyes:

Gebe ich die Quelle so an: "C:\\test" kopiert es nicht und SHFileOperation gibt NULL zurück.

Und gebe ich die Quelle so an: "C:\\test\\" sagt er, dass auf dem Datenträger nicht gelesen werden kann.

Sorry, wenn ich Deine Geduld so sehr straperziere...

Ich lade Dich mal zu nem Eis ein :)

Hat sich erledigt!! Hat geklappt :-)

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...