Datei verschieben - MOVE, mv, copy, cp

Hallo,

gibt es in C eine Möglichkeit, Dateien zu verschieben, analog Linux „mv“?

Das Zeilenweise einlesen und umschreiben dauert mir via Netzlaufwerken zu lange, ich möchte die Datei gerne als ganzes verschieben.

Geht das? Wenn ja, wie.

Ein copy-Befehl wäre auch ok.
Es muss auch nur unter Windows laufen, aber es muss in C sein.

Danke im Voraus.

e-a-s-y

Hallo,

gibt es in C eine Möglichkeit, Dateien zu verschieben, analog
Linux „mv“?

Das Zeilenweise einlesen und umschreiben dauert mir via
Netzlaufwerken zu lange, ich möchte die Datei gerne als ganzes
verschieben.

Schonmal was von fseek() und co. gehört? Dann kannst die ganze Datei auf einmal lesen :wink:

Geht das? Wenn ja, wie.

Ein copy-Befehl wäre auch ok.
Es muss auch nur unter Windows laufen, aber es muss in C sein.

Wie schön, dass die Windows API in C ist:

MoveFile("\\\\server\\freigabe\\datei.exe", "C:\\datei.exe")

MSDN: http://msdn.microsoft.com/library/default.asp?url=/l…

Grüße,
Christoph

Hallo Easy !

Die einfachste Version (weil unabhaengig vom Betriebssystem im Gegensatz zur unten angeführten WinAPI-Funktion) ist die Funktion rename(). Einfach alten und neuen Namen (inklusive Dateipfad wenn Datei in anderen Ordner verschoben werden soll) angeben.

mfg
Christof

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Christoph,

vielen Dank für die beiden Tipps.

fseek, das wäre eine der „Notlösungen“, die ich gesucht hatte.
Ist gut zu wissen für die Zukunft.

movefile ist genau das, was ich für diesen Fall benötige, ich hoffe nur, dass ich das in meinem Programm (Mercury Loadrunner) benutzen kann, aber ansonsten wird mir die Lösung von Christof am Einfachsten weiterhelfen, bei rename weiß ich, dass der Befehl unterstützt wird, hatte nur noch nicht versucht, die Datei über ein Directory hinweg umzubenennen. Wenn das nicht klappen sollte, versuche ich mein Glück mit movefile.

merci nochmal

e-a-s-y

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

rename directoryübergreifend - genial
Hallo Christof,

wenn das funktioniert ist das genau die benötigte Lösung. Wie Du sagtest, sogar OS-unabhängig.

Das ist mir neu, dass rename auch über directories hinweg funktioniert, werde ich gleich ausprobieren.

Vielen Dank und Gruß,

e-a-s-y

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Easy !

Ja, es funktioniert auch über directories hinweg, ich verwende es häufig so.
Du musst nur darauf achten, dass der Zielordner existiert.

mfg
Christof

Anmerkung (Re: rename …)
Hallo EASY

wenn das funktioniert …
… sogar OS-unabhängig.

 Besides, REAL computers have a rename() system call. :smile:
 (Larry Wall in , 1.Mai 1990)

Grüße

CMБ