Mehrere Variablen zusammensetzten mit Eval () - Fehler

  • Hi Leute,
    habe ein kleines Problem bezüglich der Eval-Funktion. Ich möchte gerne 3 Variablen zu einer zusammensetzen. Mein Script soll mehrere Anwendungen nacheinander öffnen. Der Link zur Anwendung ist abgesehen von einer Zahl immer gleich. Diese Zahl möchte ich gern durch einen Zähler verändern. Hier erst mal mein Script:

    Der Pfad zur Anwendung soll als $fulldir aus $DIR1, $Counter und $DIR2 erzeugt werden. $Counter fängt bei 1 an. Ist auch richtig so. Der Pfad ist sieht auch so aus: "C:\Users\blabla\chrome1.lnk". Aber anstatt die anwendung zu öffnen wird das verzeichnis geöffnet. Weiss jemand woran das liegen könnte? LG und Danke

  • Warum Eval? Benutze doch einfach nur das "&".

    AutoIt
    Local $fulldir = $DIR1 & $Counter & $DIR2

    Auch am Arsch geht ein Weg vorbei...

    ¯\_(ツ)_/¯

    Einmal editiert, zuletzt von UEZ (7. März 2016 um 13:20) aus folgendem Grund: Habe die Gänsefüßchen vergessen zu entfernen.

  • AutoIt
    ShellExecute( "D:\TMP\Bilder.lnk" ) ;~ Öffnet Verzeichnis
    ShellExecute( "C:\Users\USERNAME\Desktop\PUTTY\MYDEVSESSION.lnk" ) ;~ Öffnet Putty-Session

    Bei mir macht er alles wie gewünscht. Ich glaube die Frage ist, was sind das für Links die du da nutzt?

    Grüße Yaerox

    Grüne Hölle

  • Morgen,
    danke schon mal für die Antworten.

    Ohne Eval funktioniert es leider auch nicht. Es kommt die Meldung, dass "$DIR1$Counter$DIR2" nicht gefunden werden konnte. Einfach nur ShellExecute funktioniert bei mir auch. Es werden Verknüpfungen zu Chrome-Profilen geöffnet. Allerdings möchte ich der Übersicht halber nicht 5 solcher Absätze (da 5 Profile) sondern nur einen. Im Pfad selbst ändert sich wie gesagt auch nur die Zahl. Wie hier jetzt die "2" hinter Chrome.

    Code
    ShellExecute ( "C:\Users\blabla\chrome2.lnk", "https://www.google.com")
    Sleep (2000)
  • Moment, sortieren.

    Zitat

    Ohne Eval funktioniert es leider auch nicht. Es kommt die Meldung, dass "$DIR1$Counter$DIR2" nicht gefunden werden konnte.

    Poste mal bitte deinen Code ohne Eval. Wenn Möglich den ganzen Block bitte, im Startpost fehlt eigentlich auch mind. eine Zeile ^^
    Der Fehlermeldung nach denke ich, dass dein Quellcode an dieser Stelle falsch ist. Ich würde bei der Variante von UEZ die " weglassen.

    AutoIt
    Local $fulldir = $DIR1 & $Counter & $DIR2
    Zitat

    Einfach nur ShellExecute funktioniert bei mir auch. Es werden Verknüpfungen zu Chrome-Profilen geöffnet.


    Allerdings möchte ich der Übersicht halber nicht 5 solcher Absätze (da 5 Profile) sondern nur einen. Im Pfad selbst ändert sich wie gesagt auch nur die Zahl. Wie hier jetzt die "2" hinter Chrome.

    Wenn der Aufruf funktioniert braust du dir das danach in eine Schleife.
    Den zweiten Satz verstehe ich nicht, du kannst ja eine Schleife nutzen, aber zum Testen würde ich doch erstmal einen einzigen Aufruf ans laufen kriegen.

    Grüße Yaerox

    Grüne Hölle

  • Kannst du mir sagen warum du eine Endlosschleife in deinem Skript hast? Daß du endlos viele C:\Users\blabla\chromeXXXXXX.Lnk-Files hast wage ich zu bezweifeln.

  • #include <MsgBoxConstants.au3>


    Local $cfgMenuTab_0 = 3
    Local $cfgMenuTab_1 = "Datei;DummyGui;OtherGui"
    Local $cfgMenuTab_2 = "Bearbeiten;Hammer;Zange"
    Local $cfgMenuTab_3 = "Ansicht;Oben;Unten;Hinten;Vorn"


    For $i = 1 To $cfgMenuTab_0
    Local $stem = Eval("cfgMenuTab_" & $i)


    MsgBox($MB_OK, "GUI Trace",$stem)
    Next


    In der Eval() function habe ich nur das "$" Zeichen weggelassen ....
    gruesse

  • @super_alfi Bitte Code mit Hilfe der Code-Tags des Forums entsprechend formatieren.
    Dann muss ich ehrlich gestehen, dass ich keinen Zusammenhang aus deinem Post und dem obigen Problem finden kann ?(

    Grüße Yaerox

    Grüne Hölle