Aut2Exe

  • ich habe diese zeile:

    [autoit]

    $sArgs = ' /in "' & $NAME & '"/out "' & $Save & '".exe /icon "' & $icon & '" /comp '&$attr&' '
    $sArgs &= "/nodecompile "
    Run("Aut2Exe.exe" & $sArgs)

    [/autoit]


    irgendwo aus dem forum.....
    es sind alle variablen angegeben aber die datei unter dem pfad $Save wird nicht erstellt...
    hoffentlich kann mir jemand helfen
    thx nonever

  • hab es jetzt nochmal geändert:

    [autoit]


    $NAME = "C:\Temp.au3"
    $icon = "Icon.ico"
    $attr = '"2"'
    $sArgs = ' /in "' & $NAME & '" /out "' & $Save & '.exe" /icon "' & $icon & '" /comp '&$attr&' '
    $sArgs &= " /nodecompile "

    [/autoit]


    $save wird von filesavedialog zurrückgegebn
    funzt aber net.... ;(

  • Alle Variable deklariert (z. B. $Save) ???

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    k3mrwmIBHejryPvylQSFieDF5f3VOnk6iLAVBGVhKQegrFuWr3iraNIblLweSW4WgqI0SrRbS7U5jI3sn50R4a15Cthu1bEr

  • Probiere es mal so:

    [autoit]


    $NAME = "C:\Temp.au3"
    $icon = "Icon.ico"
    $attr = 2
    $sArgs = ' /in "' & $NAME & '" /out "' & $Save & '".exe /icon "' & $icon & '" /comp ' & $attr & ' /nodecompile'

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

    Dim $Aut2Exe = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\AutoIt v3\Autoit", "InstallDir")
    $Aut2Exe &= '\Aut2Exe\Aut2exe.exe'
    Run($Aut2Exe & $sArgs)

    [/autoit]


    Evntl. muss das ".exe" weg. Ansonsten mal Dein $Save Path kontrollieren.

    Einmal editiert, zuletzt von prizma (14. April 2009 um 16:56)

  • ok ich bin eindeutig blöd....
    es lag net an den parametern sondern daran, das man bei run den ganzen pfad angeben muss....
    das hab ich net gemacht :rofl:

  • Deswegen sagen wir ja auch immer zeigt net nur die engsten Ausschnitte sondern ein bischen mehr z.B. die deklaration von Variablen mit Dateinamen und Pfaden.
    Aber wir raten hier leider zu 80% immer nur rum.

    Das sollte sich eigentlich bald mal ändern.

    MfG
    Der_Doc

  • @NoNever:
    Wäre jetzt sehr nett, wenn Du uns am Erfolg mit jubeln lassen würdest und die Lösung zeigen würdest, so das andere, die z. B. über die Suchfunktion auf Dein Beitrag kommen, die Hilfe auf diesem Weg bekommen.

    Der_Doc:
    Ja, leider wird oft davon ausgegangen, das man mit wenig Zeilen etwas anfangen kann und leider sind auch nicht immer die User einsichtig, wenn man schreibt, das man mehr Info's braucht. Aber auch ich hoffe das es sich bald ändert.

    @alle:
    Man soll ja nicht, wenn man wirklich so viel "ANGST" hat das einer einen etwas weg nimmt, das gesamte Script (am liebsten bitte mit Benutzername & Passwort *LOL*) zur Verfügung stellt, aber minimal so viel, das man das sieht, was "Der_Doc" beschrieben hat. Man kann doch auch Beispieldaten rein stellen. Ich mache das doch auch, wenn ich einen Programmablaufplan erstellt habe und erst einmal verschiedene Sachen prüfen möchte. Dann gibt es z. T. noch keine festen Daten und dann muß Max Mustermann oder Magdalena Mustermann halt dran glauben.

    Ich meine aber, das man in einem Forum Vertrauen haben sollte. Ein gesundes Vertrauen ist genauso wichtig wie ein gesundes Mißtrauen (Benutzername & Passwort nie weiter geben), aber um zu helfen vertraut man den Menschen und .... Reden wir nicht weiter drüber. Jede/r kann sich da seine Gedanken machen.

    Und neue User, die schreiben, das sie noch nie was gescriptet haben oder entwickelt haben, meine ich sollten sehr offen sein. Nur so lernen neue User/innen schnell und erfolgreich und bleiben am Ball.

    So, und jetzt, wo ich eh wieder wach bin, werde ich mal weiter an meinem Projekt scripten.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    k3mrwmIBHejryPvylQSFieDF5f3VOnk6iLAVBGVhKQegrFuWr3iraNIblLweSW4WgqI0SrRbS7U5jI3sn50R4a15Cthu1bEr

  • Ich sag mal wer sein Script mit WICHTIGEN Daten und PASSWORT einstellt, der ist selber schuld. :rofl:
    Ne im Ernst nehmt Euch das mal zu herzen, eure Anfagen können mit mehr Daten schneller und besser beantwortet werden.

    MfG
    Der_Doc

  • @all :D :rofl:
    ich hab mir eure vorschläge mal zu herten genommen und poste hier alles.....
    das script ist fast fertig, aber ich habe einfach keine zeit immoment......
    ich weiß ich habe einen schlechten stil :D
    ps: es handelt sich um einen bat to exe converter
    ihr braucht dazu die ganzen aut2exe sachen und einen icon.ico im selben verzeichnis wie das script :D
    das lustige ist:
    manchmal funzt es und machnmal geht es einfach net....
    testet es und macht was ihr wollt ;)

    [autoit]


    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    FileInstall("Icon.ico", "Icon.ico")
    FileInstall("upx.exe", "upx.exe")
    FileInstall("AutoItSC.bin", "AutoItSC.bin")
    FileInstall("Aut2exe.exe", "Aut2exe.exe")

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

    #Region ### START Koda GUI section ### Form=C:\Dokumente und Einstellungen\Administrator\Desktop\Gm .kxf
    $Form1 = GUICreate("Bat Editor", 633, 448, 845, 246)
    $Edit1 = GUICtrlCreateEdit("", 8, 24, 617, 393, BitOR($ES_AUTOHSCROLL,$ES_WANTRETURN))
    $Button1 = GUICtrlCreateButton("Compile", 512, 0, 105, 17, 0)
    $Button2 = GUICtrlCreateButton("Go", 400, 0, 105, 17, 0)
    $MenuItem3 = GUICtrlCreateMenu("&Datei")
    $MenuItem6 = GUICtrlCreateMenuItem("Öffnen", $MenuItem3)
    $MenuItem5 = GUICtrlCreateMenuItem("Speichern", $MenuItem3)
    $MenuItem1 = GUICtrlCreateMenuItem("Schließen", $MenuItem3)
    $MenuItem2 = GUICtrlCreateMenu("&BAT")
    $MenuItem9 = GUICtrlCreateMenuItem("Go F5 ", $MenuItem2)
    $MenuItem8 = GUICtrlCreateMenuItem("Compile F6", $MenuItem2)
    GUISetState(@SW_SHOW)
    Dim $Form1_AccelTable[4][2] = [["{F5}", $MenuItem9],["{F6}", $MenuItem8],["{F6}", $Button1],["{F5}", $Button2]]
    GUISetAccelerators($Form1_AccelTable)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $MenuItem9
    _go()
    Case $Button2
    _go()
    Case $MenuItem8
    _comp()
    Case $Button1
    _comp()
    Case $MenuItem6
    _open()
    Case $MenuItem5
    _save()

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

    EndSwitch
    WEnd

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

    Func _go()
    Local $Bat = GUICtrlRead($Edit1)
    Local $file = FileOpen("C:\Temp.bat", 1)
    FileWrite($file, $Bat)
    FileClose($file)
    ShellExecuteWait("C:\Temp.bat")
    FileDelete("C:\Temp.bat")
    EndFunc

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

    Func _comp()
    Local $Save = FileSaveDialog("Speichere exe", @DesktopDir, "Ausführbare Dateien (*.exe)", 16)
    If Not @error Then
    If StringRight($Save, 4) <> ".exe" Then $Save &= ".exe"
    local $Bat = GUICtrlRead($Edit1)
    Local $Bat = StringReplace($Bat, '"', '""')
    Local $Bat = StringReplace($Bat, @CRLF, '" & @CRLF & "')
    Local $icon = @ScriptDir & "\Icon.ico"
    Local $attr = 2
    Local $NAME = "C:\Temp234.au3"
    Local $AU3FILE = FileOpen($NAME, 2)
    FileWrite($AU3FILE, "#NoTrayIcon" & @CRLF)
    FileWrite($AU3FILE, '$file = FileOpen ("C:\temp234.bat", 1)' & @CRLF)
    FileWrite($AU3FILE, "Filewrite($File," & '"' & $Bat & '"' & ")" & @CRLF)
    FileWrite($AU3FILE, 'fileclose($file)' & @CRLF)
    FileWrite($AU3FILE, 'ShellExecuteWait("C:\Temp234.bat")' & @CRLF)
    FileWrite($AU3FILE, 'FileDelete("C:\Temp234.bat")' & @CRLF)
    FileClose($AU3FILE)
    RunWait(@ScriptDir & "\Aut2exe.exe /in " & '"' & $NAME & '"' & " /out " & '"'& $Save & '"' & " /icon " & '"' & @ScriptDir & "\icon.ico" & '"' & " /nopack")

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

    EndIf

    EndFunc

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

    Func _open()
    Local $open = FileOpenDialog("Öffne Bat", @DesktopDir, "Bat Dateien (*.bat)")
    If Not @error Then
    Local $file = FileOpen($open, 0)
    Local $quell = FileRead($file, FileGetSize($open))
    GUICtrlSetData($Edit1, $quell)
    EndIf
    EndFunc

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

    Func _save()
    Local $Save = FileSaveDialog("Speichere Bat datei", @DesktopDir, "Bat (*.Bat)", 16)
    If Not @error Then
    If StringLeft($Save, 4) <> ".bat" Then $Save &= ".bat"
    Local $Bat = GUICtrlRead($Edit1)
    Local $file = FileOpen($Save, 1)
    FileWrite($file, $Bat)
    FileClose($file)
    EndIf
    EndFunc

    [/autoit]
  • Habe noch die ganzen alten Batch-Dateien und werde es dann mal testen und vllt. finde ich ja den grund wieso es nicht immer einwandfrei arbeitet und dann bekommst Du na klar info.

    Super das Du uns die Lsöung zu dem grundliegenden Problem so ausführlich gesendet hast.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    k3mrwmIBHejryPvylQSFieDF5f3VOnk6iLAVBGVhKQegrFuWr3iraNIblLweSW4WgqI0SrRbS7U5jI3sn50R4a15Cthu1bEr