Datei aus Resources in ein verzeichniss kopieren in einer Konsolenanwendung

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Datei aus Resources in ein verzeichniss kopieren in einer Konsolenanwendung

    hi,

    ich arbeite gerade an einer Konsolenanwendung. diese Anwendung soll eine Datei aus Resources in ein bestimmtes Verzeichnis kopieren.
    den CMD-Befehl zum kopieren von datei habe ich aber wie kopiere ich aus Resources?

    Danke im voraus :)
    @user2100 Um eine Datei welchen Typs handelt es sich?
    Bilder kannst Du mit Methoden der Bitmap-Klasse kopieren, für Texte gibt es ebenfalls interne Methoden bei IO.File.
    Andere Typen müssen als Bytes() geschrieben werden, wie meine Vorredner bereits posteten.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    ich hatte vor das ganze nun doch anders zu lösen.

    ich habe nun eine konsolenanwendung erstellt und kopiere die datei direkt in meinen zielordner rein funktioniert soweit auch ganz gut.
    im 2. schritt möchte ich mit folgenden befehl in das zielverzeichnis wechseln das funktioniert leider nicht.

    VB.NET-Quellcode

    1. shell("cd /d c:\Windows")

    bekomme immer die fehlermeldung: Die Datei wurde nicht gefunden.

    wenn ich diesen befehl aber in die eingabeaufforderung eintippe funktioniet der befehl.
    selbst wenn ich meine Anwendung als Administrator starte kommt das gleiche ergebnis.

    danke im voraus :)
    @user2100 Falsche Herangehensweise.
    Poste so viel Code, dass wir verstehen, was Du machen willst.
    Falls Du mit der Process-Klasse arbeitest, hole Dir die (Process)StartInfo-Property und setze deren WorkingDirectory auf Deinen Wert.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    ich möchte lediglich mit nem shell befehl in ein verzeichnis wechseln.
    mehr nicht mir wird aber immer angezeigt das die datei nicht gefunden wurde obwohl ich nur das verzeichnis wechseln möchte. in der eingabeaufforderung wenn ich den obigen befehl eingebe wechsele ich in das verzeichnis wie es im befehl steht aber wenn ich es über meine konsolenanwendung machen möchte, funktioniert das nicht. warum auch immer.

    VB.NET-Quellcode

    1. Module Module1
    2. Sub Main()
    3. test()
    4. End Sub
    5. Sub test()
    6. Console.WriteLine()
    7. My.Computer.FileSystem.CreateDirectory("C:\Temp\") '// Ordner Temp wird erstellt //
    8. System.IO.File.WriteAllBytes("C:\Temp\test.exe", My.Resources.test) '// Datei test.exe wird von resources in Temp ordner kopiert //
    9. Shell("xcopy C:\Temp\test.exe C:\Users\user\test\") '// test.exe wird in zielverzeichnis kopiert //
    10. Shell("cd C:\Users\user\test\") '// wechseln in das Zielverzeichnis // *FUNKTIONIERT NICHT*
    11. Shell("dir") '// Auflistung aller dateien im Zielverzeichnis //
    12. End Sub
    13. End Module

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „user2100“ ()

    Ich würde auf Shell verzichten. Alles im IO Namespace dafür vorhanden.

    VB.NET-Quellcode

    1. Module Module1
    2. Sub ListDir()
    3. Dim s() As String = IO.Directory.GetDirectories(IO.Directory.GetCurrentDirectory())
    4. Console.WriteLine(String.Join(Environment.NewLine, s))
    5. s = IO.Directory.GetFiles(IO.Directory.GetCurrentDirectory())
    6. Console.WriteLine(String.Join(Environment.NewLine, s))
    7. End Sub
    8. Sub Main()
    9. Console.WriteLine(IO.Directory.GetCurrentDirectory())
    10. IO.Directory.SetCurrentDirectory("D:\Public")
    11. 'IO.File.Copy ("source", "dest")
    12. Console.WriteLine(IO.Directory.GetCurrentDirectory())
    13. ListDir()
    14. Console.ReadKey()
    15. End Sub
    16. End Module
    Cloud Computer? Nein Danke! Das ist nur ein weiterer Schritt zur totalen Überwachung.
    „Wer die Freiheit aufgibt, um Sicherheit zu gewinnen, wird am Ende beides verlieren.“
    Benjamin Franklin

    user2100 schrieb:

    ich möchte lediglich mit nem shell befehl in ein verzeichnis wechseln.
    Wer soll denn das geänderte Verzeichnis sehen?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!