1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Macrostop

Beiträge von Macrostop

  • Problem mit Anführungszeichen

    • Macrostop
    • 9. Oktober 2008 um 01:45

    Danke Greenhorn

    Grade mit den Anführungszeichen wäre eine eigene FAQ-Seite zu füllen.
    Findet man zu dem Thema speziell etwas ?
    Ausführliche Beispiele wären nicht schlecht !

    Gruß und gute Nacht :thumbup:
    Macrostop

  • Problem mit Anführungszeichen

    • Macrostop
    • 9. Oktober 2008 um 01:13

    JAU, guter Rat KriZza ! :thumbup:

    Das funktioniert :

    Code
    FileWrite($file, "echo. pushd """ & "%1" & """ " & @CRLF); =NOK


    Ergebnis:
    "echo. pushd "%1" "

    Fall gelöst.
    Den Besten Dank von Macrostop

  • Problem mit Anführungszeichen

    • Macrostop
    • 9. Oktober 2008 um 00:47

    @ KriZza
    Danke für Deinen Rat, aber das hab ich alles schon durchprobiert, auch mit "Chr(34)" usw.
    Auch hier hängt´s am "%1"

    Code
    FileWrite($file, "set image_path="%1"" & @CRLF)


    Wer wird das Rätsel lösen ?

    MfG Macrostop

  • Problem mit Anführungszeichen

    • Macrostop
    • 9. Oktober 2008 um 00:32

    Hallo Community

    Das folgende Script hängt an der Stelle mit "%1" sagt SciTE. ?(
    Ohne die Anführungsstriche läuft es und übergibt den Parameter an die Batchdatei, die mit Filewrite erzeugt und dann ausgeführt wird.
    Wegen der Leerzeichen in den Pfadnamen MÜSSEN die Anführungszeichen aber sein.

    Code
    $var = FileSelectFolder("Laufwerk oder Ordner wählen:", "", "C:\") ; 1=Ordner erstellen 2=New Style 4=Edit Control
    $file = FileOpen(@TempDir & "\sender.cmd", 10)
    FileWrite($file, "@echo off" & @CRLF)
    FileWrite($file, "Title CMD" & @CRLF)
    FileWrite($file, "Color 1F" & @CRLF)
    FileWrite($file, "echo." & @CRLF)
    FileWrite($file, "echo. pushd "%1" " & @CRLF)
    FileWrite($file, "echo." & @CRLF)
    FileWrite($file, "pause")
    FileClose($file)
    
    
    ShellExecute(@TempDir & "\sender.cmd", $var) ; =OK v3.2
    Alles anzeigen

    Meine Frage: Wie muß ich "%1" "einkleiden" damit diese 4 Zeichen korrekt in die Batchdatei geschrieben werden ?

    Mit fragendem Gruß Macrostop

  • Parameterübergabe klappt nicht

    • Macrostop
    • 8. Oktober 2008 um 18:53

    Vielen Dank für Eure Mühe, mir die neue Version von AutoIt schmackhaft zu machen.
    Leider hab ich oft den Quellcode gelöscht, weil ich wußte daß ich die Exen recompilieren kann.

    Naja, wahrscheinlich ist es Zeit alte Zöpfe abzuschneiden und neue Methoden zum archivieren des Quellcodes zu entwickeln. :S

    Gruß und Dank von Macrostop

    Oehm :huh: Also, dann hab´ ich erstmal keine weiteren Fragen, und sag´mal daß der Fall gelöst wurde ?
    Oder muß ich noch was machen ? :?:

  • Parameterübergabe klappt nicht

    • Macrostop
    • 8. Oktober 2008 um 18:14

    Micha_he
    :thumbup: Vielen Dank für Deine Antwort, beide Scripte übergeben die Variable korrekt. :thumbup:

    Auf der Suche nach Regeln für Anführungszeichen hab ich nur einzelne Beispiele gefunden;
    gibts zu dem Thema eventuell ein Tutorial oder eine Beispielsammlung ?

    peethebee
    Wenn in der neueren Version v3.2 die sinnvolle Option des Recompilierens entfernt worden ist, mit der Begründung daß es "zu gefährlich" ist, recompilierbaren Code zu erstellen, dann frag ich mich: Wozu hat´s denn die Option "/nodecompile" gegeben ?
    War denn der Code zu knacken ?
    Warum ist der Confuscator nicht als Compilier-Option integriert ?
    Nichts gegen AutoIt v3.2, aber als Amateur ist es mir lieber, daß ich meine Exen wieder "aufmachen" kann, z.B. mit der "/pass" Option.
    Sicher bin ich mit dieser Ansicht nicht allein, deshalb kann ich mir vorstellen, daß die fähigen Köpfe von AutoIt auch hier nachbessern werden.

    Gruß Macrostop

  • Parameterübergabe klappt nicht

    • Macrostop
    • 8. Oktober 2008 um 13:14

    Hallo Community
    Ich verwende immer noch AutoIt v3.1.1 weil ich da die Scripte recompilieren kann.
    Leider funktioniert bei dieser Version die Variablenübergabe mit "ShellExecute" nicht, oder anders als bei AutoIt v3.2.
    Bitte werft mal nen Blick auf mein mißratenes Script: (Script.au3 definiert die Variable und soll sie an return.cmd übergeben)

    script.au3 :

    [autoit]

    $Save = FileSaveDialog ( "Datei speichern unter", @MyDocumentsDir, "Windows-Image (*.wim)", 3)

    [/autoit][autoit][/autoit][autoit]

    If @error Then
    MsgBox(4096,"","Save cancelled.")
    Else
    MsgBox(4096,"","You chose " & $Save)
    EndIf

    [/autoit][autoit][/autoit][autoit]

    ;ShellExecute(@ScriptDir & "\return.cmd", $Save) ; =OK in v3.2
    run(@ScriptDir & "\return.cmd " & $Save) ; =Nicht OK in v3.1

    [/autoit]

    return.cmd :

    Code
    @echo off
    title Return Variable
    color 1e
    
    
    :_check
    echo.
    echo. der erste Wert lautet "%1.wim"
    echo.
    pause

    Vielleicht fehlen irgendwo die Anführungsstriche oder was anderes.
    Da die Ausführung in einem Ordner ohne Leerzeichen läuft, nehme ich an daß -@ScriptDir &- irgendwie in Anführungszeichen gesetzt werden muß.
    Hab schon alle möglichen Variationen ohne Erfolg durchprobiert.
    Es wäre schön, wenn jemand mein Script korrigieren könnte.

    Gruß Macrostop

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™