How to script DOS app that doesn't use stdout

G

Gregor

There's a DOS console application I am trying to script (in Python), but it
doesn't seem to use stdout or stderr... For example, if I redirect output
to a file ("cmd > file.txt"), the output still appears on screen.
Similarly, the output pipes returned by popen* don't catch the app's
output. How might this app be generating its output? Any thoughts on how it
could be captured (perhaps with something in the win32 extensions)?

Thanks,

Greg.
 
P

Paul Watson

Gregor said:
There's a DOS console application I am trying to script (in Python), but
it
doesn't seem to use stdout or stderr... For example, if I redirect output
to a file ("cmd > file.txt"), the output still appears on screen.
Similarly, the output pipes returned by popen* don't catch the app's
output. How might this app be generating its output? Any thoughts on how
it
could be captured (perhaps with something in the win32 extensions)?

The good-ole DOS app could be doing many things. It could be making BIOS
calls or writing directly to the video display memory at segment 0xB800.
One would think that if it did a DUP of stdout that it might get captured,
but apparently you have tried the popen* family.

Any hints as to what the DOS app is? If it is known by anyone, perhaps a
workaround is also known.
 
G

Gregor

The good-ole DOS app could be doing many things. It could be making
BIOS calls or writing directly to the video display memory at segment
0xB800. One would think that if it did a DUP of stdout that it might
get captured, but apparently you have tried the popen* family.

Any hints as to what the DOS app is? If it is known by anyone,
perhaps a workaround is also known.

Hmmm. Sounds like scripting this app might be a bit of a problem...

I don't think the program was available to the general public... It's
called "PC-Bill." It's used to send doctors' bills to the Canadian
government.

Greg.
 
T

Timothy Grant

There's a DOS console application I am trying to script (in Python), but it
doesn't seem to use stdout or stderr... For example, if I redirect output
to a file ("cmd > file.txt"), the output still appears on screen.
Similarly, the output pipes returned by popen* don't catch the app's
output. How might this app be generating its output? Any thoughts on how it
could be captured (perhaps with something in the win32 extensions)?

Thanks,

Greg.

I've had to do this a couple of times but never in recent years. I
don't know your exact needs, but the best tool I ever found for this
sort of job was called Phantom of the Keyboard.

I ran into a couple of apps that I needed data out of and couldn't get
it. They'd only output to screen, never to disk. I used Phantom to
automate the app to dump data to screen and then capture the screen to
disk.
 
G

Gregor

I've had to do this a couple of times but never in recent years. I
don't know your exact needs, but the best tool I ever found for this
sort of job was called Phantom of the Keyboard.

I ran into a couple of apps that I needed data out of and couldn't get
it. They'd only output to screen, never to disk. I used Phantom to
automate the app to dump data to screen and then capture the screen to
disk.

Hmmm, interesting. I'll give that app a try. Thanks for the info.

Greg.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
474,222
Messages
2,571,140
Members
47,755
Latest member
Grazynkaa

Latest Threads

Top