【问题标题】:How do i write a log of .CMD file to text file? [closed]如何将 .CMD 文件的日志写入文本文件? [关闭]
【发布时间】:2017-06-29 08:49:13
【问题描述】:

我有一个包含一些命令的 sample.cmd 文件,我想将该命令文件的日志写入文本文件?

【问题讨论】:

  • command>log.txt 将标准输出重定向到 log.txt。
  • @Regejok 我有一个命令文件而不是单个命令。所以我希望在文本文件中捕获总命令的日志。
  • 同样的事情,除非您在另一个脚本中执行此操作。使用call script 可以达到同样的效果。

标签: batch-file cmd command


【解决方案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

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

【讨论】:

  • 我有一个文件 Test.cmd 如下 ECHO ON REM 第 1 步 - 检查文件是否存在 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 但它不起作用。
【解决方案2】:

知道了...只需要在命令提示符下运行如下文件

C:\user\username>"Test.cmd">"test.log"

感谢您的建议...

【讨论】:

  • 好的,但请参阅编辑后的答案。它可能会有所帮助
猜你喜欢
  • 2010-12-17
  • 2013-11-26
  • 1970-01-01
  • 2012-04-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-19
相关资源
最近更新 更多