[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] [已解决]怎么让批处理的所有命令执行后生成日志文件?

各位大虾,小弟最近初学批处理。
由于工作的特殊需要,要在批处理执行完毕后生成一个Log文件,记录所有批处理命令的执行情况,是否成功以及对多少文件执行了该命令。
还望各位高手能帮帮忙,小弟在此先谢谢各位了。
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

请问楼主你自己能搞清楚在生成日志前批处理要进行的操作不?

if you know (
   please tell everybody
   ) else (
   please think again
)
***共同提高***

TOP

有很多命令:
md
move
echo
...

我试了一种生成log的方法(但是这种方法只能用于"move"命令):
就是在执行"move"后面加了一个>>zz.log
zz.log里面输出了“移动了多少文件,并且也有移动文件的清单”,
但是还有一种特殊情况,就是移动一个文件,zz.log里面居然只显示“移动了几个文件”却没有"移动了哪个文件的清单"

我是想问一下,批处理有没有自带的输出log文件的命令。

TOP

我是想问一下,批处理有没有自带的输出log文件的命令。

很抱歉,没有。。。

但是如果代码中所有的命令都是有屏幕输出信息的,就可以用重定向到文本的方法来生成log
***共同提高***

TOP

好吧,谢谢前辈

TOP

这样不知道可不可以,试试在代码前加上这五行:
[code]
@echo off>nul 2>nul 3>log.txt 4>log.txt
for /f "skip=5 eol= delims=" %%a in (%~s0) do (
   echo %%a
   cmd /c %%a
)
[code]

TOP

本帖最后由 tmplinshi 于 2011-3-25 18:13 编辑
  1. @echo on 1>nul 2>nul 3>log.txt 4>&3
复制代码
放到批处理第一行。不过这样会显示命令本身。

TOP

这样不知道可不可以,试试在代码前加上这五行:

@echo off>nul 2>nul 3>log.txt 4>log.txt
for /f "skip=5 eol= delims=" %%a in (%~s0) do (
   echo %%a
   cmd /c %%a
)

zm900612 发表于 2011-3-25 13:12

看不懂,你会伤心么?~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

TOP

很无语,直接把echo off去掉
然后假如 这个批处理文件名是 test.bat,那么 test.bat >log.txt 就行了
或者加入批处理代码是这样

1: @echo off
2: ......
...............
100: exit

那么前后加括号
(
1: :echo off 这行去掉
2: ......
.............
100: exit
)>log.txt
1

评分人数

TOP

8# starzen


不懂就问啊,伤心有神马用?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

好吧,我伤透心了...^_^

TOP

返回列表