Ordner in Ressourcen oder .zip mit Batch entpacken.

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von Samus Aran.

    Ordner in Ressourcen oder .zip mit Batch entpacken.

    Hallo

    Ich möchte gerne einen Ordner + Unterordner und Dateien in die Ressourcen von Visual Basic einfügen, um sie anschließend auf dem Computer des Nutzers zu entpacken.

    Leider kann man keine Ordner in die Ressourcen einfügen, sondern nur sowas wie .zip Dateien.
    Allerdings sind die Dateien ja noch gepackt wenn ich sie mit Code entpacken lasse aus mein Programm.

    Ich habe bereits gelesen, das man mit einer Batch Datei das .zip Archiv entpacken kann, aber ich finde keinen Code für die Batch Datei, die es mir ermöglich die .zip Datei direkt im Ordner zu entpacken.

    Meine Frage:

    Wie kann ich einen Ordner in die Ressourcen einfügen, um sie anschließend mit Code zu entpacken, oder wie entpacke ich eine .zip Datei mit einer Batch Datei?

    Ich hoffe ihr könnt mir weiterhelfen :)
    (Bei Google habe ich bereits mehrfach geschaut.)
    "Denken ist die schwerste Arbeit, die es gibt. Das ist wahrscheinlich auch der Grund, warum sich so wenig Leute damit beschäftigen." - Henry Ford

    Artentus schrieb:

    Dazu gab es hier schon mal ein Thema siehe:
    Zip-Dateien entpacken
    Ich habe den unteren Code jetzt mal eingefügt, aber er sagt mir: Der Typ "ClassUnzip" ist nicht definiert.
    (Das Problem gelöst.)

    Er sagt mir bei allen Codes mit Shell32, das es nicht definiert ist oder so ähnlich.
    "Denken ist die schwerste Arbeit, die es gibt. Das ist wahrscheinlich auch der Grund, warum sich so wenig Leute damit beschäftigen." - Henry Ford

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Vultrax“ ()

    Du musst die Klasse von oben natürlich auch in dein Projekt einfügen.
    Am besten machst du das über Projekt -> Neues Element hinzufügen -> Klasse und kopierst den Code dann dort hin.

    Und den Verweis nicht vergessen:
    Projekt -> Verweis hinzufügen -> Durchsuchen und dann C:\Windows\System32\Shell32.dll auswählen

    Artentus schrieb:

    Du musst die Klasse von oben natürlich auch in dein Projekt einfügen.
    Am besten machst du das über Projekt -> Neues Element hinzufügen -> Klasse und kopierst den Code dann dort hin.

    Und den Verweis nicht vergessen:
    Projekt -> Verweis hinzufügen -> Durchsuchen und dann C:\Windows\System32\Shell32.dll auswählen
    Unter "Projekt -> Verweis hinzufügen -> Durchsuchen und dann ..." sind bei mir keine Einträge vorhanden. Nichts da.
    "Denken ist die schwerste Arbeit, die es gibt. Das ist wahrscheinlich auch der Grund, warum sich so wenig Leute damit beschäftigen." - Henry Ford
    Also bei mir öffnet sich dann ein Explorerfenster (siehe Anhang). Ich hab das, was du tun musst rot markiert.
    Es kann sein, dass das bei dir etwas anders aussieht, wenn du eine andere VS-Version verwendest, aber im Prinzip funktioniert das immer gleich.
    Bilder
    • Verweis_Shell32.jpg

      216,91 kB, 800×984, 269 mal angesehen

    Artentus schrieb:

    Also bei mir öffnet sich dann ein Explorerfenster (siehe Anhang). Ich hab das, was du tun musst rot markiert.
    Es kann sein, dass das bei dir etwas anders aussieht, wenn du eine andere VS-Version verwendest, aber im Prinzip funktioniert das immer gleich.
    Ich habe das irgendwie nicht hinbekommen :S

    Deswegen habe ich nochmal im Internet geschaut, und ein Batch Code gefunden der funktioniert!
    ###############################################
    @echo off & setlocal

    set "Quelle=D:\Datei.zip" (Verzeichnis der .zip Datei)

    set "Ziel=D:\Datei" (Verzeichnis der Entpackten Dateien)

    if not exist "%Ziel%\" md "%Ziel%" 2>nul||echo Zielordner "%Ziel%" konnte nicht erstellt werden! & goto :eof

    set "U=%temp%\Unzip.vbs"

    >"%U%" echo CreateObject("Shell.Application").Namespace("%Ziel%").CopyHere CreateObject("Shell.Application").Namespace("%Quelle%").Items, 4 + 16

    cscript //nologo "%U%"
    ###############################################
    "Denken ist die schwerste Arbeit, die es gibt. Das ist wahrscheinlich auch der Grund, warum sich so wenig Leute damit beschäftigen." - Henry Ford