ini auslesen

  • Zitat

    Der Wert darf nicht leer sein, weil sonst was?

    die svscmd.exe einen Falschen Wert bekommt

    Code
    Run(@ComSpec & ' /c svscmd.exe "'& $input1 &'" Activate',$SVSPath , @SW_HIDE)

    Die svscmd.exe bezieht über $input1 usw. Ihren Wert aus der ini

    also z.B
    GUID1 = "Firefox"

    in diesem Fall würde firefox starten

    svscmd.exe Firefox wäre das von der Dos-Box

    Wenn der Wert also " " ist, was dann?

    Mein Script soll aus der Registrierung den Pfad der svscmd.exe finden
    klappt

    Ist die *.ini nicht da, Fehlermeldung
    klappt

    dann soll aus der *.ini der Wert gelesen werden.
    Ist der Schlüssel, oder Wert nich da oder nur halb, dann Fehler
    klappt noch nicht!

    Da in der *.ini GUID´s von 1 bis 10 stehen, also 10 Programe die man über die *.ini starten kann
    GUID1 = "Firefox"
    GUID2 = "Thunderbird"
    usw.

    müsste das Script von entsprechender GUID den Fehler ausgeben
    so das man das in der *.ini verbessern kann.

    In eine älteren Script hatte ich das so... (Fehler bei If $input1 = 0 Then aber schon geändert siehe weiter unten im Thread)


    Weis nicht, ob ich das dann 10 mal schreiben muss, oder zusammenfassen kann.

    Aber wichtiger ist mir ersteinmal das lesen aus der *.ini

  • @thunder-man: Begreif doch endlich dass $input nicht 0 wird!!!
    Jetzt hats dir der Mega schon so schön erklärt :O

    Projekte: Keine größeren (und fertigen)
    Gegen Internetzensur:
    https://epetitionen.bundestag.de/index.php?acti…s;petition=3860
    (Zeichnungsfrist abgelaufen)
    __________________________________________________________________________________________________________________________________
    Dieser Beitrag wurde bereits 264 mal editiert, zuletzt von »Fast2« (30. Februar 2009, 12:99)

    Einmal editiert, zuletzt von Fast2 (17. November 2007 um 22:58)

  • THX Fast2 ich habe es endlich begriffen, lol.
    Nach ca. einem Jahr sollte ich das doch schon, oder? (JK)

    Sorry, aber schaue mal auf das Jahr ...

    • Offizieller Beitrag

    Hallo,

    probiers mal so:

    [autoit]

    For $GUIDNr = 1 To 10
    $input = IniRead($IniNameNeu, "LayerName", "GUID" & $GUIDNr, "Schlüssel nicht gefunden")
    $input = StringStripWS($input,3) ; Leerzeichen am Anfang und Ende entfernen
    Switch $input
    Case ""
    MsgBox(4096, " GUID" & $GUIDNr, "Der Wert darf nicht leer sein")
    Case "Schlüssel nicht gefunden"
    MsgBox(4096, " GUID" & $GUIDNr, "Wert nicht gefunden")
    Case Else
    Run(@ComSpec & ' /c svscmd.exe "'& $input &'" Activate',$SVSPath , @SW_HIDE)
    EndSwitch
    Next

    [/autoit]
  • bernd670

    Oh, StringStripWS natürlich, hätte ich damals gut gebrauchen können.
    Und auch das mit case ist super.
    Damals? Warum?

    Na, weil dieser Thread schon über ein Jahr alt ist lol. (Trotzdem THX)

    13.11.2006 23:08

    Einmal editiert, zuletzt von thunder-man (18. November 2007 um 10:29)

    • Offizieller Beitrag

    Dann kann man den Thread also auf gelöst setzen?! :]

    Vllt. hilft ja die Lösung noch jemandem!

  • Zitat

    Original von bernd670
    Dann kann man den Thread also auf gelöst setzen?! :]

    Vllt. hilft ja die Lösung noch jemandem!

    Stimmt, ist nun gelöst.
    Den letzten Ansatz kann man bestimmt gut nutzen.

    Das mit der svscmd.exe war explizit nur für die Virtualisierung
    von Altiris SVS. Nur halt über die Kommandozeile gesteuert.

    Ich denke, daher wird es wohl nicht allgemein nützlich sein,
    aber man weiß ja nie, vielleicht doch.


    Mal sehen, ob ich im 1. Thread [ gelöst ] eintragen kann,
    in anderen Foren geht das ja schon nach ein paar Wochen nicht mehr ...

    so long
    Frank

    Edit bernd670: Hab's schon geändert!