Datei kopieren

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Datei kopieren

    Hallo ich bräuchte Hilfe
    Also ich möchte die Datei die gerade ausgeführt wird in einen anderen Ordner kopieren, wenn ich es mit Copy.File() mache hab ich danach auch die datei im Wunschordner, sie ist auch genauso groß wie die ursprungsdatei, aber ich kann sie nicht öffnen, da ich eine fehlermeldung bekomme
  • Die Datei soll sich selbst in ein bestimmtes Verzeichnis kopieren, mir ist aber gerade aufgefallen dass wenn ich in Visual Studio bin und dort das Prog debugge und ausführe, dann funktioniert es, starte ich jedoch die exe file aus dem debugg ordner erhalte ich ebenfalls einen fehler...

    Edit: Problem gefunden... Lacht mich nicht aus, wenn ich das Programm debugge wird die datei verschoben und existiert dann im ordner wenn ich sie nun irgendwo anders öffne dann klappts nicht, weil die datei in dem angegebenen ordner schon existiert. Wie kann ich es machen, dass die datei einfach überschrieben wird?!

    Edit2: Habs jetzt einfach mit File.Exists gemacht

    Neue Frage wie kann ich die ausgeführte datei kopieren wenn der user den namen ändert bisher hab ichs so gemacht

    Quellcode

    1. //File kopieren!
    2. if(File.Exists("C:\\Timmä.exe"))
    3. {
    4. Console.WriteLine("File existiert");
    5. }
    6. else
    7. {
    8. File.Copy("timmä.exe", "C:\\Timmä.exe");
    9. Console.WriteLine("File nach C:\\Timmä.exe kopiert");
    10. }

    also wie man sieht heißt die File im moment noch timmä.exe wenn der user die datei jetzt in lala.exe umbenennt bekomm ich wieder fehler


    Edit 3: Kann man in c# mit umgebungsvariablen arbeiten?!

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von $_staX ()

  • Hallo $_staX

    Ist doch eigentlich ganz logisch. Wenn du hardcoded Timmä.exe reinschreibst, dann kann er auch nur eine Datei kopieren, die so heißt.
    Verwende doch in deinem Fall

    Quellcode

    1. Application.ExecutablePath;

    Auszug aus der msdn:
    Ruft den Pfad einschließlich des Namens der ausführbaren Datei ab, die zum Starten der Anwendung verwendet wurde.


    Hoffe das hilft dir weiter ;)
    ~ rock on ~
  • IchRoque81 schrieb:

    Ist doch eigentlich ganz logisch. Wenn du hardcoded Timmä.exe reinschreibst, dann kann er auch nur eine Datei kopieren, die so heißt.


    Das war mir schon klar ich hab ja nach ner Lösung gesucht die klappt, danke werd deine Lösung dann morgen ausprobieren.

    Hab aber ein neues Problem und zwar soll mein Programm eine Datei von einem Ftp server downloaden, das klappt soweit auch ganz gut, sobald man aber das internet ausschaltet oder man nen proxy benutzt hängt sich das prog auf. Gibt es eine möglichkeit die internetverbindung solange zu testen bis eine connection steht?!