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 :-)

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...