Sign in to follow this  
Followers 0
kukris

How to log the results of a DOS batch file?

9 posts in this topic

Hi there,

I have a batch file with many commands and want the results in saved in a log file.

I tried the following:

mybat.bat > c:\log.txt

The log file is there but it's empty. How can I do this?

Thanks in advance

0

Share this post


Link to post
Share on other sites

It all depends on what you are doing. If your bat file only outputs error messages, you will have to grab those too. If you just want standard output messages, what you have is fine.

Check the permissions on the file. I would assume if you can create a file, you would have write access. What you have works perfectly fine.

0

Share this post


Link to post
Share on other sites

I want all messages, just as they appear in the DOS-Windows. I forget to mention that I use this for a Windows 98 Custom Installation and unlike Windows 2000 / XP

the command only creates an empty file.

So is there a way to log the output to a file? Maybe a third party utility?

0

Share this post


Link to post
Share on other sites

To log individual 'echo' commands, here is an example (section taken from my batch file):

ECHO Installed Programs were not registered >> %systemroot%\Temp\instTime.log

To log entire runs of batch files (which is what you want), use

mybat.bat >> c:\log.txt

Note the double arrows, instead of single. That is needed because '>' will create/overwrite a file, but '>>' will create/add to a text file. This works in win98.

0

Share this post


Link to post
Share on other sites

Thanks, I tried that, but with no luck. The log file will be created, but it is always empty. I even made a batch file that produces an error, but not even that is logged. I don't use long filenames and neither executing it from a DOS-Windows nor from Start--> run nor calling the batch file from another batch file does make a difference.

Any Ideas? Perhaps an extra DOS utility?

0

Share this post


Link to post
Share on other sites
Thanks, I tried that, but with no luck. The log file will be created, but it is always empty.

That could be because you have set a

@ECHO OFF

line in your batch file (the one to be logged).

0

Share this post


Link to post
Share on other sites

i guess i wanna use something like:

test.bat > testlog.txt 2> testerrors.txt

to create 2 logs of my batch. 1 for erros, 1 for anything else

let's pretend that this is my batch called test.bat:

REM Hello

REM Are you ready to keep on being logged?

Pause

REM I thought you were!

Ekko

notice the flawed "command" on the last line for which i'd expect an entry in testerrors.txt.

however, when i use said command, i do not see the execution of the batch in my console (although it IS being executed). i can press "any key" to end the pause but i don't see _anything_ in my console window - like being in the dark.

the logs are created exactly as i expect - but i wanna still see my batch running in console so i know if i can really end the pause without looking into the txt file manually.

how can i get my 2 logs and STILL see my execution running?

Edited by tgf666
0

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.