wie nutze ich _CMD_WRITE aus der CMD.au3 ??

  • Hallo nochmal,

    also ich versuche ja ein Nagios Plugin zu schreiben, und benötige ein Echo auf der Konsole. Daher habe ich die CMD.au3 includiert.

    mein Test Code sieht so aus:

    C
    #AutoIt3Wrapper_Add_Constants=n 
    #include <CMD.au3> 
    Global Const $_CMD_USEWINDOW = False 
    _CMD_Write("echo test > c:\text.txt")

    eigentlich sollte er doch nun das echo test in die text.txt schreiben, aber er tut es nicht. es öffnet sich kurz eine shell, die sich aber auch sehr schnell wieder schließt, doch die txt wird nicht erstellt ?? Wo ist da nun der Hacken ??

    Für jeden Tipp bin ich wie immer dankbar.

    Grüße
    CrazyER

    Einmal editiert, zuletzt von CrazyER (14. November 2008 um 12:03)

  • Die UDF öffnet nur ein Konsolenfenster, in das du informationen ausgeben kannst. Du kannst aber keine Befehle ausführen.
    Wenn du eine Datei schreiben willst, geht das
    a) über FileWrite
    oder b) über _RunDOS("echo test > test.txt") (im #include <Process.au3>)

    • Offizieller Beitrag

    Hallo

    Ich kenn mich mit der CMD.au3 nicht aus, ich benutze immer ConsoleWrite und dann halt das script als CUI Compilen ;)
    Aber ich gehe mal davon aus, dass _CMD_Write wirklich genau den Text schreibt der da steht, und keine Funktion benutzt (also > oder sowas wird nicht gewertet)
    Dafür kannst du aber z.B. das hier verwenden:

    [autoit]

    RunWait('"' & @ComSpec & '" /c '&$sCommandLineToRun, '', @SW_HIDE)

    [/autoit]

    Mfg Spider

    Edit: Ein bisschen zu spät :P

  • Super, ich bedanke mich bei euch. Nun läuft mein erstes Nagios Plugin.
    Werde aber bestimmt noch ein paar dutzend Fragen haben, da ich nun noch eine Konfigurationsdatei dazu basteln möchte.

    Durch das Forum hier, gewinne ich immer mehr Spaß am Scripting mit AutoIT.