标题: 如何给事件记录按序编号?
[打印本页]
作者: robinlong
时间: 2006-3-7 16:35
标题: 如何给事件记录按序编号?
我做了一个批处理,用来记录从FTP中下载文件的过程,如下:
@ECHO OFF
echo.|date /t >>ftp.log
echo.|time /t >>ftp.log
FTP -s:"e:\TEST\ftplogin.txt">>FTP.LOG
问题是:我用什么方法可以将每次的记录按顺序编好号?如:
1.第一次记录
2.第二次记录
谢谢各位仁兄指点!
作者: 3742668
时间: 2006-3-7 17:41
什么系统?
作者: robinlong
时间: 2006-3-7 17:50
win2K的
作者: 3742668
时间: 2006-3-7 17:57
方案一:
在批处理中建立一个名字为次数的文件,每次运行批处理的时候先检查该文件的文件名,然后判断。
确定是显而易见的,不过通用性好。
方案二:
如果是NTFS分区,利用NTFS分区支持文件流的功能可以简单实现,较为可行。
缺点:必须是NTFS分区
方案三:
如果LOG文件结果比较简单,可以用findstr来获得LOG文件中的日期和时间,然后通过for来判定。(或者直接用for或set来读取LOG中的标志)
缺点:相对复杂
方案四:
通过windows事件触发器来实现
缺点:似乎只能在XP下使用,且需要开启相关服务。(默认是开启的)
方案五:
在注册表下建一键,然后利用for或set来实现
缺点:太垃圾的招数。
暂时能想到的就这几种。
ps:如果是2000以上系统
echo.|date /t >>ftp.log
echo.|time /t >>ftp.log
不如 echo %date%%time% >>ftp.log
作者: 3742668
时间: 2006-3-7 17:58
什么分区格式?
LOG文件的结构能贴上来吗?
作者: 3742668
时间: 2006-3-7 18:11
还是给点提示你吧:
@echo off
:find
set /a num = %num% + 1
findstr "*****第%num%次记录*****" ftp.txt >nul && goto find
echo *****第%num%次记录***** >>ftp.txt
echo %date%%time% >>ftp.txt
FTP -s:"e:\TEST\ftplogin.txt">>FTP.txt
[
Last edited by 3742668 on 2006-3-7 at 18:24 ]
作者: robinlong
时间: 2006-3-8 11:55
非常感谢楼上的兄台,我把findstr 换成find,OK