line problem

  • Hallo

    ich hab nen kleines Prob :)
    und zwar wollte ich son mini script machen damit mir die windows CMD
    die ports anzeigt .

    der eigerndliche befehl für die Eingabeafforderung ist:
    netstat -n | find ":15779"
    Also wenn ich die zeile so im CMD eingebe bekomme ich meine Informationen.
    soweit so gut .
    nun wollte ich aber mit nem script erst CMD starten und dan die zeile eingeben lassen.
    aber irgend wie hat Autoit nen prob mit meiner zeile ,
    besser gesagt ich hab als leie nen prob mit autoit ^^

    kann mir einer irgendwie das so ändern das es funzt ?
    Danke im vorraus :)
    hier mal mein Script dazu:

    run ("c:\Windows\system32\cmd.exe")
    WinWaitActive ("c:\Windows\system32\cmd.exe")
    send ("netstat -n | find ":15779" {Enter}")

    der fehler den Autoit ausgibt verweist auf den doppelpunkt vor 15779
    ich hab kein plan mehr :( lol

    bb der Scrat

    bb und Danke der Scrat :D

    Einmal editiert, zuletzt von Scrat (16. August 2009 um 15:39)

  • also cih weiß zwar nicht wie man dieses problem lösen kann aber das problem sind die anführungszeichen, die 15blablabla umschließen

    jo damit liegst du richtig :)

    ich hab das nun gerade zum laufen bekommen .
    geteste bis das ging ^^

    man muss in dem fall dieses : ":15779"

    mit doppel " versetzen soll heisen mus dan so ausehen :
    "":15779""

    jetzt geht das :)

    ok kann geclosed werden DANKE

    bb Scrat

    bb und Danke der Scrat :D

  • run ("c:\Windows\system32\cmd.exe")
    WinWaitActive ("c:\Windows\system32\cmd.exe")
    send ("netstat -n | find "":15779"" {Enter}")

    Edit: Du warst eine Sekunde schneller^^

  • run ("c:\Windows\system32\cmd.exe")
    WinWaitActive ("c:\Windows\system32\cmd.exe")
    send ("netstat -n | find "":15779"" {Enter}")

    Edit: Du warst eine Sekunde schneller^^

    jo danke dennoch :)

    weist du vllt auch was ich eingeben muss das sich die CMD nach ca 10 sec wieder schließt ?
    mit dem winexists und processexists geht das ni
    (kann sein das ich die befehle jetzt hier gerade nich richtig geschrieben hab^^ )

    bb und Danke der Scrat :D

  • Hallo,
    du könntest die Ausgabe von Netstat direkt in AutoIt anzeigen lassen, dann musst du das CMD-Fenster garnicht aufmachen^^

    Spoiler anzeigen
    [autoit]

    #include <Constants.au3>
    ;$netstat = Run(@ComSpec & " /c netstat -n | find "":15779""", @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
    $netstat = Run(@ComSpec & " /c netstat -a", @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
    $line = ''
    Do
    Sleep(50)
    $line = $line & StdoutRead($netstat)
    Until @error
    $line = StringRegExpReplace($line, '\v{2,}', @CRLF) ;geklaut bei Oscar^^
    if $line="" then $line="Keine Ausgabe von Netstat!"
    MsgBox(0, 0, $line,10) ; nach 10 Sekunden verschwindet die msgbox

    [/autoit]


    ciao
    Andy

    • Offizieller Beitrag

    Hier bitte, die CMD wird nach 10 Sekunden geschlossen :

    Spoiler anzeigen
    [autoit]

    run ("c:\Windows\system32\cmd.exe")
    WinWaitActive ("c:\Windows\system32\cmd.exe")
    send ("netstat -n | find "":15779"" {Enter}")
    Sleep (10000)
    send ("exit {Enter}")

    [/autoit]
  • Hier bitte, die CMD wird nach 10 Sekunden geschlossen :

    Spoiler anzeigen
    [autoit]

    run ("c:\Windows\system32\cmd.exe")
    WinWaitActive ("c:\Windows\system32\cmd.exe")
    send ("netstat -n | find "":15779"" {Enter}")
    Sleep (10000)
    send ("exit {Enter}")

    [/autoit]

    jo das worked :) recht vielen dank :)

    bb und Danke der Scrat :D