2017-06-29 231 views
-1

我有一个sample.cmd文件和一些命令,我​​想写该命令文件的日志到一个文本文件?如何将.CMD文件的日志写入文本文件?

+0

'command> log.txt'将stdout重定向到log.txt。 – Regejok

+0

@Regejok我有一个命令文件不是一个单一的命令。所以我想要在一个文本文件中捕获总命令的日志。 – user2919579

+0

同样的事情,除非你在另一个脚本里面做。使用'call script'获得相同的效果。 – Regejok

回答

1

使用

>"theFile.log" (
command1 
command2 
... 
) 

作为块内,任何输出重定向到theFile.log。此外,该文件只能打开和关闭一次。

由于所有输出发送到theFile.log,如果你想在屏幕上显示的一些信息,然后把它重定向到控制台>CON

>"theFile.log" (
command1 
command2 
command3>CON & rem this is echoed in screen 
... 
) 

您使用创建>文件的任何时间。如果你想改变append mode>"theFile.log" (>>"theFile.log" (

编辑,为您的评论

不明白你的逻辑......

ECHO ON 
REM STEP 1- CHECK FILE 
IF EXIST C:\SAMPLE.TXT (DEL C:\SAMPLE.TXT) 
findstr /I /B .START C:\SAMPLE.TXT > C:\SAMPLE_START.TXT 
EXIT 16 

您正在运行findstr在刚刚删除的文件。

如果你想检查测试,如果.START存在或不存在

@echo off 
rem STEP 1- CHECK FILE 
rem Think this line must be 
IF EXIST C:\SAMPLE_START.TXT DEL C:\SAMPLE_START.TXT 

findstr /I /B .START C:\SAMPLE.TXT > C:\SAMPLE_START.TXT && (
    start C:\SAMPLE_START.TXT 
) || (
    echo Not found 
) 
rem EXIT 16 
exit/B 

它用条件运算符&&(前一个命令成功)和||(前一个命令失败)。

+0

我有一个文件Test.cmd如下ECHO ON REM STEP 1-检查文件 IF EXIST C:\ SAMPLE.TXT(DEL C:\ SAMPLE.TXT) findstr/I/B .START C:\ SAMPLE .TXT> C:\ SAMPLE_START.TXT EXIT 16我想将此Test.cmd文件的日志写入Test.log我试图像cmd.exe Test.cmd> Test.log,但它不工作。 – user2919579

0

明白了...只需要在命令提示符下运行该文件,如下

C:\用户\用户名> “TEST.CMD”> “test.log中”

感谢您的建议...

+0

好的,但请参阅编辑答案。它可能有帮助 – elzooilogico