DOS-Befehl findstr

  • Hallo,

    gibt es ein Möglickeit den Inhalt eines DOS-Befehls als Variable zubekommen?

    z.B.

    $a = _RunDOS("ipconfig /all|findstr /b /i /c:'Das ist ein Bsp'")


    MfG

    Mr.Daim

    • Offizieller Beitrag

    wurde schon öfters gefragt glaub ich...

    hab mal eine function geschrieben, langlang ists her.. für info zu pc:

    Code
    Func _GetRevison()
    	;By Max(gtaspider)
    	$run = Run(@ComSpec & ' /c echo %PROCESSOR_REVISION%', '', @SW_HIDE,6)
    	$stdoutread = StdoutRead($run)
    	If Not @error = -1 Then $outread=$stdoutread
    
    	$stderrRead = StderrRead($run)
    	If Not @error = -1 Then $outread = $stderrRead
    	Return StringTrimLeft($outread,1)
    EndFunc


    und bei run einfach das eingeben wass du willst aber: das muss da bleiben: @ComSpec & ' /c

  • Dafür benötige ich die Beta Version. Sehe ich das richtig. Ich habe es mit der stabilen 3.1.1.0 versucht und da kennt er die Funktion Sdtoutread nicht. Ich muß dazu sagen das ich schon was geschrieben habe und das mit einbinden wollte. Unter der Beta-Versionen funktionieren jetzt andere Sachen nicht. Z.b. beim Ausführen als ... gibt es Probleme:


    RunAsSet ( "Testuser", "Testdomain", "Testpasswort", 0 )

    _RunDOS( "devcon enable @PCI\VEN_8086^&DEV_4***......." )

    RunAsSet()

    Die Funktion wird jetzt nicht mehr ausgeführt.
    Kann mir irgendjemand bei der Fehlersuche helfen. Unter 3.1.1.0 hat es einwandfrei funktionier. Beta Compile mit der Version 3.1.1.119 funktioniert das nicht mehr.

    MfG

    • Offizieller Beitrag

    Ja, für StdOutRead brauchst du die Beta-Version.
    Eigentlich sollte sich keine Funktion verschlechtert haben von der stabilen bis zur Beta-Version. uf den ersten Blick in die aktuelle Hilfe lässt sich auch nichts derartiges festestellen.
    Woran scheitert es denn genau, kannst du das herausfinden?

    peethebee

  • Nee leider nicht. Ich habe nur rausbekommen das er mir eine 1 zurück gibt. Aber das hat ja nicht viel zu heißen ?(

    Dann werd ich wohl auf die Funktion verzichten. Weil ich auf das andere nicht verzichten kann. :schild4:

    Oder gibt es noch eine andere Möglichkeit, ein String aus einer DOS-Box zu holen (siehe oben). Bis jetzt müßte ich eine Extra Text-Datei anlegen, um zu gucken ob dieser Stringwert bei IPCONFIG /ALL dabei ist oder nicht.

  • Nanana, nich gleich die Flinte ins Korn werfen:
    http://autoit.aufwaerts.de/thread.php?threadid=78&sid=
    Hier habe ich Dos-Befehle benutzt, umgeleitet und die Ausgabe protokolliert.
    Weil ich das mit Standard-Ausgabe und Standard-Fehler etc.
    erstmal nich gerafft habe, mußte ich einen WorkAround finden..
    Dann habe ich die Beta-Versionen entdeckt, nu kann ich beides benutzen :D
    Gruß
    ytwinky

    (Ich) benutze stets die aktuelle (Beta) und SciTE..