楼 主
如何给事件记录按序编号?
发表于 2006-03-07 16:35 · 中国 广东 惠州 电信
初级用户
★
积分 50
发帖 17
注册 2006-02-27 23:44
20年会员
UID 51073
性别 男
状态 离线
我做了一个批处理,用来记录从FTP中下载文件的过程,如下:
@ECHO OFF
echo.|date /t >>ftp.log
echo.|time /t >>ftp.log
FTP -s:"e:\TEST\ftplogin.txt">>FTP.LOG
问题是:我用什么方法可以将每次的记录按顺序编好号?如:
1.第一次记录
2.第二次记录
谢谢各位仁兄指点!
第 2 楼
发表于 2006-03-07 17:41 · 中国 湖北 荆门 电信
荣誉版主
★★★
积分 2,013
发帖 718
注册 2006-02-18 07:07
20年会员
UID 50550
状态 离线
第 3 楼
发表于 2006-03-07 17:50 · 中国 广东 惠州 电信
初级用户
★
积分 50
发帖 17
注册 2006-02-27 23:44
20年会员
UID 51073
性别 男
状态 离线
第 4 楼
发表于 2006-03-07 17:57 · 中国 湖北 荆门 电信
荣誉版主
★★★
积分 2,013
发帖 718
注册 2006-02-18 07:07
20年会员
UID 50550
状态 离线
方案一:
在批处理中建立一个名字为次数的文件,每次运行批处理的时候先检查该文件的文件名,然后判断。
确定是显而易见的,不过通用性好。
方案二:
如果是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
第 5 楼
发表于 2006-03-07 17:58 · 中国 湖北 荆门 电信
荣誉版主
★★★
积分 2,013
发帖 718
注册 2006-02-18 07:07
20年会员
UID 50550
状态 离线
第 6 楼
发表于 2006-03-07 18:11 · 中国 湖北 荆门 电信
荣誉版主
★★★
积分 2,013
发帖 718
注册 2006-02-18 07:07
20年会员
UID 50550
状态 离线
还是给点提示你吧:
@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 ]
第 7 楼
发表于 2006-03-08 11:55 · 中国 广东 惠州 电信
初级用户
★
积分 50
发帖 17
注册 2006-02-27 23:44
20年会员
UID 51073
性别 男
状态 离线
非常感谢楼上的兄台,我把findstr 换成find,OK
论坛跳转: