Script schließen -> batch datei ausführen

  • hey
    ich wollte mal fragen was ich falsch mache, unzwar habe ich ein script, dies sollte nach dem schließen meine batch datei ausführen:

    Wenn geschlossen:

    [autoit]

    OnAutoItExitRegister("EndPicDelete")

    [/autoit]

    Dann Funktion

    [autoit]

    Func EndPicDelete()
    ShellExecute("Gen.bat", "", @ScriptDir, "open", @SW_HIDE)
    EndFunc

    [/autoit]

    ich sehs ganz richtig :D irgentwie geht aber nich :/
    mfg

    Einmal editiert, zuletzt von McGangster (12. Februar 2011 um 19:35)

  • hmm..
    ok, irgentwie komisch, jetzt geht die batch datei nimmer #.-
    jemand ne ahnung ob ich da was falsch gemacht hab?

    //EDIT
    es geht nur wenn du batch datei aufem desktop ist, kann jemand kucken das die auch geht wenn sie ..\desktop\ordner ist?
    mfg

  • Kann es daran liegen das dein Script auch auf dem Desktop liegt?
    Ansonsten helfen komplette Pfadangaben, z.B. so etwas

    [autoit]

    ShellExecute( @ScriptDir & "\Gen.bat", "", @ScriptDir, "open", @SW_HIDE)

    [/autoit]


    Das 2. scriptdir kannst du vermutlich weglassen, siehe Hilfe

    workingdir [optional] Das Arbeitsverzeichnis. Wird ein leerer String ("") angegeben, so wird das aktuelle Arbeitsverzeichnis verwendet.

    das hat nichts mit dem Pfad zum Batch zu tun, evtl. schon wenn im Bactch Folgebatches etc aufgerufen werden und dort die Pfade nicht komplett angegeben sind.

    Gruß Dietmar

    Achtung Anfänger! :whistling:

    Betrachten des Quellcodes auf eigene Gefahr, bei Übelkeit,Erbrechen,Kopfschmerzen übernehme ich keine Haftung. 8o

    Einmal editiert, zuletzt von Dietmar (12. Februar 2011 um 16:47)

  • @Mod/Admin,

    wie ich dem Namen der BATch-Datei

    ShellExecute("Gen.bat", "", @ScriptDir, "open", @SW_HIDE)

    zu entnehmen glaube will er damit seinen KEY-GENerator für den schon 4 Thread's im Papierkorb liegen verbreiten.
    Bei seinen "Programmierkünsten" wird er zwar hinterher warschein's von den Benutzern gesteinigt aber man sollte es erst gar nicht dazu kommen lassen,

    @McGangster, ich denke du bist definitiv im falschen Forum

    mfg autoBert

    • Offizieller Beitrag

    autoBert: Anhand eines Dateinamens so etwas herzuleiten halte ich für überzogen. Aber, und das geht jetzt an Dich McGangster:
    Wenn Du nicht endlich Dein Skript sowie die Batchdatei hier postest, dann verschwindet auch dieser Thread im "Nirvana". Ständig neue Threads aufzumachen mit völlig wirren Erklärungen und total unzureichenden Problembeschreibungen werden wir hier nicht länger hinnehmen. X(

  • GoogleEinfachNach.bat :D
    das is nen einfacher spontaner name, hat reingarnichts damit zu tun. Dateien kopieren ebenso nicht :D


    Dietmar also die

    [autoit]

    ShellExecute( @ScriptDir & "\Gen.bat", "", @ScriptDir, "open", @SW_HIDE)

    [/autoit]

    ging ja soweit, also für alles zu klären, mein script Ymig.au3 liegt: C:\Users\BENUTZERNAME\Desktop\Gidf\Ymig.au3
    und meine Gen.bat auch, jetzt führe ich das wie gewohnt aus (Ymig.au3) und es startet keine gen.bat, aber wenn ich das aufem desktop mache, klappts...
    ich glaube das bei der gen.bat auch ein BeiDemScript (bei autoit @script dir) eingebaut werden muss/soll/kein plan...

  • ich glaube das bei der gen.bat auch ein BeiDemScript (bei autoit @script dir) eingebaut werden muss/soll/kein plan...


    Du solltest endlich dein Skript und die Batchdatei hier einstellen, denn

    Aber, und das geht jetzt an Dich McGangster:
    Wenn Du nicht endlich Dein Skript sowie die Batchdatei hier postest, dann verschwindet auch dieser Thread im "Nirvana".

    mfg autoBert

  • ups tut mir leid, dachte ich hätte das schon, danke dir:

    und autoit:

    [autoit]

    ShellExecute( @ScriptDir & "\Gen.bat", "", @ScriptDir, "open", @SW_HIDE)

    [/autoit]

    Einmal editiert, zuletzt von McGangster (12. Februar 2011 um 17:51)

  • ich sollte mein script posten, das habe ich gemacht, ich weiß net worans liegt, dann bringst auch nix wenn du unnötige kommentare schreibst... hättest du die lösung geschrieben, wäre das thema geschlossen und mein script fertig

  • Ich sag nur Zeile 14, aber selbst das ist schon zuviel gesagt. :rolleyes:
    Grundsätzlich sollte man dich nicht unterstützen solange du keine plausible Erklärung dazu hast warum dein Script für den Benutzer unsichtbar vorhandene ausführbare Dateien in dir nicht bekannten Pfaden durch deine eigenen ersetzen soll.

    • Offizieller Beitrag

    4 Threads und es klappt immer noch nicht.

    Die Datei von AspirinJunkie sah so aus:


    Nur die 3. und 4. Zeile muß auf den Dateinamen angepaßt werden.

    In Zeile 3 gehört der Dateiname welchen du löschen willst
    In Zeile 4 der Name der Datei welche du kopieren willst .%~dp0 entspricht dem Pfad der Batchdatei.
    Man muß nur den Dateinamen an %~dp0 anhängen und die zu ersetzende Datei muß im selben Verzeichnis wie die Batch sein.

  • ja ist es doch, problem liegt ja darin, das wenn ich die batch datei + mein autoitscript nicht auf dem desktop hab, sondern aufem desktop in nem ordner, das das dann nich gehen will :/ :D

    • Offizieller Beitrag

    Letzer Versuch:


    Deine Batch kann gar nicht laufen.

    Du willst die Datei Test.exe löschen und mit Test.exe ersetzen.
    Sobald Test.exe auf deinem Desktop gefunden wird, wird sie gelöscht und kann somit nicht durch Test.exe ersetzt werden.
    Ausserdem hat Zeile 14 einen Fehler, schau doch mal hin. Ist es so schwer den Unterschied zwischen deinem Code und den von AspirinJunkie zu sehen.

    Da dir nicht auffällt das ein % in der Zeile fehlt nehme ich mal an, das die Batch auf dem Desktop und in deinem Unterverzeichnis nicht den selben inhalt haben.

  • hab deins mal kopiert, jetzt passiert garnichts
    ich veeerrrrssttteeeehhhhhs eeeeinnnffaaaccchhh nneeettt,
    die batch datei kann net eine Test.exe durch eine Test.exe ersetzen