In article <
d5e6b74d-2e0f-4f80...@googlegroups.com>,
Peter <
pmok...@gmail.com> wrote:
>How do I capture text on the screen into a variable in a batch file?
>Specifically, this is what I need to do:
>
>1. The batch file will issue a command to check the status of
>something in the PC.
>
>2. The PC will respond with about 6 lines of text on the screen (the
>3rd line is blank).
>
>3. I need to capture that text
>
>4. The batch file will then check the first three words on the 4th
>line of text and will then GOTO depending on the first three words.
>
>I need some help with steps 3 & 4.
>
>For step 3, how do I capture that text as it is displayed on the screen? I
>assume it goes into a variable but I dont know how to get that screen text
>into a variable.
>
>For step 4, how do I get the batch file to look at the first three words
>on line four?
>
>Thanks!
For this question to be even mildly interesting, it has to be assumed that
simple redirection (i.e., program > file) and then parsing the resulting
file is not an option. This can happen in the real world with programs
that, for whatever reason(s), insist on writing to the screen and won't
send their output to a file via simple redirection.
Assuming this to be the case, then you will have to come up with a way to
pick off the information from the screen itself. AFAIK, there is no way to
do this in pure batch, but it is easy enough done using some "real"
scripting language; one that can access and execute the
ReadConsoleOutputCharacters() API. I know how to do this (and have done
so) in WinBatch. I'm sure some enterprising soul will come along and tell
you how to do it in VBScript (or whatever they are calling it nowadays).
--
People who want to share their religious views with you
almost never want you to share yours with them. -- Dave Barry