File copy



  • Hallo Ihr 🙂

    Ich habe folgendes Problem:

    Ich hab ne postscript datei und der Dateinamen
    beinhaltet eine variable Nummer.
    Jetz hab ich n proggie geschrieben, welches den Dateinamen ausliest und die signifikanten Stellen in ne textdatei reinschreibt.
    Jetz zu meinem Problem:

    Ich muss mit Hilfe der aus dem Dateinamen herausgezogenen Nummer ein Verzeichniss erstellen und die besagte Datei da rein kopieren.

    Ich bin schon soweit, das ich den Folder schreiben kann, das Problem liegt jetzt am Kopieren der Datei. Mit rename () verschiebt man die Datei ja, ich brauch die aber in das Verzeichniss reinkopiert.
    Hab hier auch leider nur Turbo C...

    MfG Sebastian



  • Ganz einfach:

    - Datei öffnen (fopen())
    - Dateiinhalt einlesen (fread())
    - Datei schließen (fclose())
    - Neue Datei öffnen
    - zuvor gelesenen Dateiinhalt reinschreiben (fwrite())
    - Datei schließen

    Schon ists fertig 😉



  • Wenns nur so einfach wär 😕

    Thx AJ aber das hatte ich schon getestet.
    Naja, die Dateien sind ja alle leider in nem Format, was ich zwar binär auslesen kann, die Wahrscheinlichkeit von Fehlern häuft sich aber leider bei der Vorgehensweise mitm Datei auslesen und in ne neue schreibn.
    Ich muss sicherstellen, dass der Dateiinhalt der PostScript Datei weder verändert, gelesen oder kopiert wird. Is leider wegens der Sache mit den Datenschutz so.

    Trotzdem thx 🙂

    Gruß Sebastian



  • Du musst also eine PostScript-Datei kopieren, das allerdings unter der Voraussetzung, dass diese Datei nicht kopiert wird?



  • tUkLe schrieb:

    die Wahrscheinlichkeit von Fehlern häuft sich aber leider bei der Vorgehensweise mitm Datei auslesen und in ne neue schreibn.

    Und woher sollen diese Veränderungen kommen wenn Du die Datei binär einliest und gleich wieder binär schreibst?



  • Fehler sollten nicht auftauchen, wenn du die Datei im Binärmodus liest und die neue auch im Binärmodus schreibst.

    Aber jetzt mal noch ne Frage, die wohl auch Bashar angedeutet hat:

    Wie willst du eine Datei kopieren, die du nicht kopieren darfst?? Außerdem ist kopieren nichts anderes als das Lesen einer Datei und das Schreiben des Inhalts in eine neue Datei.



  • Nee, ich darf die datei nur nich öffnen und den Inhalt kopieren, die datei an sich darf ich aber kopieren, da das ganze in einem sicheren und einem nichtsicheren Netzwerk läuft.

    Wär ja zu einfach gewesen 😉



  • Tja, wie gesagt: Kopieren = Lesen + Schreiben

    Ginge es denn, wenn du die Datei erst mit rename() in den untergeordneten Ordner verschiebst und dann kopierst (wieder in den übergeordneten Ordner)? Macht zwar wenig Sinn auf den ersten Blick, aber wenn du so strenge Vorgaben hast...



  • Sooo, endlich angemeldet, hab nämlich den edit button gesucht...

    *vorhergehendenpostrückgängigmach*

    Ich wollt noch anmerken, das ich den Inhalt der Datei aufgrund von datenschutzrichtlinien in unserer Firma nicht lokal, auch sei es nur im Zwischenspeicher, speichern darf.

    Gibts denn überhaupt ne andre Möglichkeit die Datei zu kopieren, ohne den Inhalt lokal temporär zu speichern, analog zu rename () ?

    Thx Sebastian

    P.S. Ich sollt wohl erst denken und dann schreiben *gg*



  • tUkLe schrieb:

    Nee, ich darf die datei nur nich öffnen und den Inhalt kopieren, die datei an sich darf ich aber kopieren, da das ganze in einem sicheren und einem nichtsicheren Netzwerk läuft.

    Soll das ein Witz sein? Für den Fall, dass du das ernst meinst, und einfach keine Ahnung hast: Was denkst du, wie eine Datei kopiert wird? Sie wird zum Lesen geöffnet, die Zieldatei erstellt, dann wird der Inhalt eingelesen und in die Zieldatei geschrieben.



  • alles klar...

    also schlussfolger ich, das es nich anders möglich is die datei zu kopieren...



  • @tukle

    Jetzt denk mal logisch nach. Wie willst du etwas kopieren, wenn du es nicht lesen darfst??

    Außerdem ist diese Datenschutzrichtline völliger Schwachsinn. Wer hat sich das eigentlich ausgedacht? Auf keinen Fall ein Informatiker und wenn dann hat er diese Berufsbezeichnung nicht verdient! Was ist denn bitte wenn man mit der Windowssuche nach bestimmten Dateiinhalten sucht? Sobald die Suche die Datei gefunden hat, öffnet und liest sie die Datei. Es gibt noch viele andere Beispiele, wo die Datei einfach geöffnet und gelesen wird. Man kann es zwar verhindern, dass normale Programme sie lesen, indem man für alle Benutzer einstellt, dass sie die Datei nicht lesen dürfen, aber ich denke, das wäre auch nicht Sinn der Sache...



  • Das ganze liegt ja auch nich an mir, ich wollt ja nur wissen, ob es einen analogen weg zu rename() gibt.
    Das mit dem alte Datei lesen und neue Datei schreiben hatt ich schon längst als Lösungsansatz gegeben,
    nur mein Auftraggeber will partout nich mit sich reden lassen und beharrt auf die meiner Meinung nach total toofe, da geb ich AJ völlig recht, richtlinie...

    naja, wenn das nich anders geht, muss er halt in den sauren Apfel beißen...

    Die Dateien darf nur der Chef lesen --> nur er hat volle Rechte alle Anderen nich

    P.S. ich bin kein totaler vollnoob, der nich weiß wie kopiert wird, nur um das klarzustellen. :p



  • @tukle
    Schade, dass dein Auftraggeber so uneinsichtig ist. Naja ich wünsche dir trotzdem viel Erfolg. Es gäbe ja noch die Möglichkeit, dass nur der Chef das Programm ausführt zum Kopieren 😉



  • BTW:
    selbst wenn du eine Funktion zum kopieren verwendest, zB CopyFile oder ähnliches, wird trotzdem die Datei kopiert (sprich gelesen + geschrieben) es geht nicht anders.


Anmelden zum Antworten