Problem mit Pfad (Dokumente und Einstellungen)

  • Hallo Leute

    Will mit einem CMD Befehl, etwas ausführen.
    Allerdings melded das Dos-Fenster immer:

    Der Befehl "C:\Dokumente" ist entweder falsch geschrieben oder konnte nicht gefunden werden.

    hier mein skript:

    [autoit]


    ; Script Start - Add your code below here
    $nbhExtract = 'NBHextract.exe '
    $file = 'RUU_signed.nbh'
    $pfad = Chr(34) & @ScriptDir & '\NBH\' & Chr(34)
    RunWait(@ComSpec & " /k " & $pfad & $nbhExtract & $pfad & $file, "")

    [/autoit]

    Kann mir jemand helfen?

    Grüsse

    2 Mal editiert, zuletzt von Blackdragon_860 (28. Januar 2009 um 12:15)

  • [autoit]

    $nbhExtract = Chr(34) & @ScriptDir & '\NBH\' & 'NBHextract.exe' & Chr(34)
    $file = Chr(34) & @ScriptDir & '\NBH\' &'RUU_signed.nbh' & Chr(34)
    RunWait(@ComSpec & " /c" & $nbhExtract & ' ' & $file)

    [/autoit]


    test ma so
    was soll /k eigentlich bewirken ?

    • Offizieller Beitrag

    Ich denke du hast das abschließende Anführungszeichen falsch gesetzt .
    Probier mal das :

    [autoit]

    ; Script Start - Add your code below here
    $nbhExtract = 'NBHextract.exe '
    $file = 'RUU_signed.nbh'
    $pfad = @ScriptDir & '\NBH\'
    RunWait(@ComSpec & " /k " &Chr(34)& $pfad & $nbhExtract & $pfad & $file&Chr(34), "")

    [/autoit]

    Edit : Hab den Code nochmal überflogen , und oben angepaßt
    Edit2: Ich weiß jetzt nicht genau ob die Anführungszeichen bei CMD überhaupt gebraucht werden .
    Alternativ zum obrigen Code probier mal das aus :

    [autoit]

    ; Script Start - Add your code below here
    $nbhExtract = 'NBHextract.exe '
    $file = 'RUU_signed.nbh'
    $pfad = @ScriptDir & '\NBH\'
    RunWait(@ComSpec & " /k " & $pfad & $nbhExtract & $pfad & $file, "")

    [/autoit]

  • Ich glaube nicht, das das so hinhaut. An deinem Pfad hängst Du ein doppeltes Hochkomma an (ist ja eigentlich nicht schlecht, aber...) und dann fügst du eine Befehl oder eine Datei an. Dabei müsste etwas in der Art entstehen:

    "C:\Dokumente.........\Desktop"NBHextract.exe

    Und das haut nicht hin.

    So vielleicht:

    [autoit]


    ; Script Start - Add your code below here
    $nbhExtract = 'NBHextract.exe'
    $file = 'RUU_signed.nbh'
    $pfad = @ScriptDir & '\NBH\'
    RunWait(@ComSpec & ' /k ' & '"' & $pfad & $nbhExtract & '" "' & $pfad & $file & '"', "")

    [/autoit]

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • danke all denen die hier was geschrieben haben,
    aber leider funktioniert keinen der vorschlägen..

    so nen mist!!!!!!!!!!!

  • wie groß sind die 2 Files kann man die evtl. hier anhängen als ZIP oder irgendwo hochladen damit man das testen kann

    Zitat

    was soll /k eigentlich bewirken ?

  • Probier mal das hier:

    [autoit]

    $nbhExtract = 'NBHextract.exe' & '"' & ' '
    $file = 'RUU_signed.nbh' & '"'
    $pfad = '"' & @ScriptDir & '\NBH\'
    RunWait(@ComSpec & " /k start" & $pfad & $nbhExtract & $pfad & $file, "")

    [/autoit]

    Twitter: @L3viathan2142
    Benutze AutoIt persönlich nicht mehr, da ich keinen Windows-Rechner mehr besitze.

  • Ich habe das Script mal abgeändert. So siehst Du per Msgbox (wird auch gleich zum Posten im Formum, in die Zwischenablage kopiert) was gestartet werden soll.
    Bei mir sieht das gut aus. Falls Entpacker und NBH-File im passenden Unterordner liegen (Ordner NBH im Scriptverzeichnis) und der Entpacker kein Kommando zum Entpacken benötigt, dann sollte es so gehen. Aber Du sagtest ja es klappt nicht. Vergleich also mal die Ausgabe der Msgbox mit den wirklichen Pfaden.

    [autoit]

    $nbhExtract = 'NBHextract.exe'
    $file = 'RUU_signed.nbh'
    $pfad = @ScriptDir & '\NBH\'
    $command = @ComSpec & ' /c ' & '"' & $pfad & $nbhExtract & '" "' & $pfad & $file & '"'
    MsgBox(0,"",$command)
    ClipPut($command)
    RunWait($command, "")

    [/autoit]
    Zitat

    was soll /k eigentlich bewirken ?


    das ist eigentlich falsch. Muss "/c" sein, sonst beendet sich die CMD.EXE nach der Ausführung nicht und runWAIT wartet sich dumm und dusselig !

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • Ich habe das Script mal abgeändert. So siehst Du per Msgbox (wird auch gleich zum Posten im Formum, in die Zwischenablage kopiert) was gestartet werden soll.
    Bei mir sieht das gut aus. Falls Entpacker und NBH-File im passenden Unterordner liegen (Ordner NBH im Scriptverzeichnis) und der Entpacker kein Kommando zum Entpacken benötigt, dann sollte es so gehen. Aber Du sagtest ja es klappt nicht. Vergleich also mal die Ausgabe der Msgbox mit den wirklichen Pfaden.

    Das hatte ich bei meiner Version mit drin zum testen da stand es dann auch richtig drinne, aber ohne die Dateien weiß natürlich keiner was sonst der Fehler sein könnte


    das ist eigentlich falsch. Muss "/c" sein, sonst beendet sich die CMD.EXE nach der Ausführung nicht und runWAIT wartet sich dumm und dusselig !


    dachte ich mir schon

  • ja das ist ja komisch..

    MSGBox ist ja korrekt,aber in der cmd funktioniert es nicht..

    hab jetzt alles probiert, es will aber einfach nicht

    dann benutze ich /k um zu sehen was cmd meldet. mit /c wird sons das fenster sofort geschlossen.

    hab jetzt noch mal direkt in der cmd den ordner pfad kopiert und eingefügt..
    bekomme die gleiche fehlermeldung.
    setzte ich alles in " " funktioniert es.

  • hab mal die dateien angehängt...

    cmd befehl lautet:

    nbhextract.exe ruu_signed.nbh

    danach wird eine datei extrahiert...

    funktioniert wenn ich es z.B unter C mache.

    funktioniert aber nicht auf dem desktop mit wegen dem pfad: Dokumente UND Einstellungen

    hoffe jemand findet die lösung

  • Versuch einmal folgendes:

    [autoit]

    $nbhExtract = 'NBHextract.exe'
    $file = 'RUU_signed.nbh'
    $pfad = @ScriptDir & '\NBH\'
    $command = @ComSpec & ' /c ' & '""' & $pfad & $nbhExtract & '" "' & $pfad & $file & '""'
    RunWait($command, "")

    [/autoit]

    Hintergrund: Laut Anleitung des CMD.EXE (aus XP SP3)
    CMD.EXE entfernt wenn mehr als 2 " in der Befehlzeile vorkommen, scheinbar das erste und letzte " aus dem hinter /k oder /c angegebenen Befehls und führt den Rest aus ! Wenn ich das Kauderwelsch richtig gelesen habe.

    Oder Du lässt den @COMSPEC-Teil weg, brauchst Du doch in dem Fall sowieso nicht und startest den Befehl wie folgt:

    [autoit]

    $command = '"' & $pfad & $nbhExtract & '" "' & $pfad & $file & '"'
    RunWait($command, "")

    [/autoit]

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

    Einmal editiert, zuletzt von Micha_he (20. Januar 2009 um 18:06)

  • $nbhExtract = 'NBHextract.exe' $file = 'RUU_signed.nbh' $pfad = @ScriptDir & '\NBH\' $command = @ComSpec & ' /c ' & '""' & $pfad & $nbhExtract & '" "' & $pfad & $file & '""' RunWait($command, "")

    JAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA :thumbup: :thumbup: :thumbup: :thumbup: :thumbup: :thumbup: :thumbup: :thumbup:

    Endlich, vielen dank!!!! funktioniert soweit.
    werde es später noch bei den anderen befehlen versuchen.