Nitroman Posted October 6, 2010 Share Posted October 6, 2010 Hi guys i need command or example for autoitscript that can read all events which shown / displayed on CMD.exe screen. I would like to put it into log.txt via autoitscript rather than BATCH file. Is anyone here can help me? Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted October 6, 2010 Moderators Share Posted October 6, 2010 Nitroman,Welcome to the AutoIt forum. Look at StdOutRead in the Help file and the example script in particular. M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
Nitroman Posted October 6, 2010 Author Share Posted October 6, 2010 (edited) ok i got the idea but how do i log it into .txt file ? I tried like this one but there is no txt file created ; Demonstrates StdoutRead() #include <Constants.au3> #include <file.au3> Local $foo = Run("start.exe",@ScriptDir,@SW_SHOW,$STDOUT_CHILD) Local $line While 1 $line = StdoutRead($foo) _FileWriteLog(@ScriptDir&"/log/test.txt", $line) If @error Then ExitLoop MsgBox(0, "STDOUT read:", $line) Wend Edited October 6, 2010 by Nitroman Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted October 6, 2010 Moderators Share Posted October 6, 2010 Nitroman,You need a couple of #include files so AutoIt know what the constant and functions names refer to. This works fine for me: #include <Constants.au3> ; contains $STDOUT_CHILD #include <File.au3> ; contains _FileWriteLog Local $foo = Run(@ComSpec & " /c dir foo.bar", @ScriptDir, @SW_SHOW, $STDOUT_CHILD) Local $line While 1 $line = StdoutRead($foo) If @error Then ExitLoop ; You need the @error check here or you check the _FileWriteLog error instead _FileWriteLog(@ScriptDir & "\test.txt", $line) MsgBox(0, "STDOUT read:", $line) WendM23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
Nitroman Posted October 6, 2010 Author Share Posted October 6, 2010 geez man thank you so much... anyway, why do stdoutread read only 100 lines? Maybe i should try to make it loop. or do you have any better idea? I need to read all cmd realtime log. Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted October 6, 2010 Moderators Share Posted October 6, 2010 Nitroman, I have never tried reading on a semi-permanent basis, but I see no reason why it should not work. Just set your loop to a little more than the expected update time to try and ensure that there is something to read each time. Please let me know how you get on. M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now