"@comspec" wichtiger befehl wird nicht ausgeführt!

  • Hallo an alle

    ich habe ein Problem und zwar

    [autoit]

    RunWait(@COMSPEC & ' /c "c:\growlnotify.com /a:Teamviewer /r:""General Notification"" "')

    [/autoit]

    Das Skript tut General Notification nicht ausführen es nimmt nur immer General und das letzte wort lasst er einfach weg ich bekomme es nicht hin das er das Ganze nimmt habe es schon so versucht

    [autoit]

    RunWait(@COMSPEC & ' /c "c:\growlnotify.com /a:Teamviewer /r:'"General Notification"' "')

    [/autoit]

    Die Gänse füsse vom anfang und am ende des Wort "General Notification" ist wichtig.

    Bitte um Dringend Hilfe

    Gruß Baron

  • Du scheinst bisschen Probleme zu haben den String zu formatieren.
    Bevor du weiter mit Run/RunWait einfach wild ein paar Strings einträgst empfehle ich dir, dir einfach mal den String mit ner Msgbox oder ähnlichem auszugeben damit du siehst was die RunWait-Funktion dann als Übergabeparameter von dir erhält.
    Beispiel für den 1. String:

    [autoit]

    MsgBox(0,"", @COMSPEC & ' /c "c:\growlnotify.com /a:Teamviewer /r:""General Notification"" "')

    [/autoit]
  • Hallo Baron1977,

    so sollte es funktionieren

    [autoit]

    $sCommand ="c:\growlnotify.com /a:Teamviewer /r:" & '"General Notification"'
    ConsoleWrite($sCommand & @crlf) ;zur Kontrolle
    RunWait($Command)

    [/autoit]

    @Comspec wird afaik nur benötigt wenn man einen Internen Befehl ausfürhen will, nicht aber für externe wie EXE Dateien,

    Frohes gutes neues Jahr auftBert

  • Das Skript funkioniert schon bloß nimmt er nur "General" nur mit und lasst Notification weg und das ist wichtig das er

    "General Notification" so nimmt .

    ich hatte es mal hinbekommen doch jetzt weiß ich nicht mehr wie ich es hinbekommen habe.????

    [autoit]

    RunWait(@COMSPEC & ' /c "c:\growlnotify.com /a:Teamviewer /r:""General Notification"" "')

    [/autoit]

    das befehl gibt man bei CMD so ein C:\growlnotify.com /a:Teamviewer /r:"General Notification" ""

    doch er nimmt beim Skript nur das wort "General" und denn rest last er weg.

    Bitte Bitte um hilfe .

    Baron

    P.s. mit dem Msgbox brauche ich nicht schauen da ich denn pfard ja weiß er soll das ganze wort mit nehmen und nicht das eine weg lassen.

  • mit dem Msgbox brauche ich nicht schauen da ich denn pfard ja weiß er soll das ganze wort mit nehmen und nicht das eine weg lassen.

    Dein Problem ist die Stringformatierung - doppelte Anführungszeichen im Endstring die du laut deiner Sollangabe nicht haben willst.
    Würdest du innerhalb von 2s mit ner Msgbox sofort sehen.
    Aber mach ruhig weiter so - beim nächsten String wirst du wieder vor dem selben Problem stehen....

    Warum auch einfach mal kurz testen was einem andere als Vorschlag zur Selbsthilfe machen....

  • hier ein beispiel ich habe das so genannte problem bei cmd ausgeführt

    c:\growlnotify.com /a:Scooter /r:"General Notification" ""

    und dann kann ich mit diesem Skript es an Growl schicken der es weiter gibt an meinem Handy

    [autoit]

    RunWait(@COMSPEC & ' /c "c:\growlnotify.com /a:Scooter /t:"Defraggler" "Programm gestartet" "',"",@SW_HIDE)

    [/autoit]

    und das Skript geht es geht mir darum das er den Namen General Notifiction nicht aus schreibt. weil er die leerzeile nicht mit nimmt.

    Gruß Baron

  • Hallo Baron1977,

    dann passe halt $sCommand in meinem Skript von Post #3 entprechend an, du hast ja zur Kontrolle die Ausgabe in der Scite-Console. Wobei ich mit sicher bin, dass es auch so schon funktioniert,

    mfg autoBert

  • Ersetz mal deine " die du bereits in den Parametern hast, durch den entsprechenden Char (Gänsefüßchen sind Chr(34)), also: ", die du bereits in der Konsole angeben würdest, mit "&Chr(34)& ersetzen. Dann kannst du dir auch die ' sparen.

  • und das Skript geht es geht mir darum das er den Namen General Notifiction nicht aus schreibt. weil er die leerzeile nicht mit nimmt.


    Sag mal testest du auch was man dir vorschlägt?
    Das dein Beispielstring nicht funktionieren kann ist logisch da vor General 1 Doppeltes Anführungszeichen im String steht - damit wird das eigentliche Umschließen von General Notification wieder außer Kraft gesetzt.
    Dass du es falsch formatiert hast siehst du sofort wenn du es in einer Msgbox ausgibst.
    Wie du es dann richtig formatierst hat dir hingegen AutoBert schon mehr als mundgerecht vorgekaut.

    • Offizieller Beitrag

    den befehl gibt man bei CMD
    so ein C:\growlnotify.com /a:Teamviewer /r:"General Notification" ""

    dann geht's in AutoIt so:

    Spoiler anzeigen
    [autoit]

    RunWait(@COMSPEC & " /c c:\growlnotify.com /a:Teamviewer /r:""General Notification"" """"")

    [/autoit]