中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-08 14:13
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]如何用批处理实现某个TXT文件有被改动并报警提示? 查看 685 回复 4
楼 主 [求助]如何用批处理实现某个TXT文件有被改动并报警提示? 发表于 2008-05-12 19:26 ·  中国 上海 腾讯云
新手上路
积分 18
发帖 9
注册 2006-07-30 11:10
20年会员
UID 59497
状态 离线
如何用批处理实现某个TXT文件有被改动并报警提示

[ Last edited by lxmxn on 2008-5-13 at 08:37 PM ]
2 发表于 2008-05-12 19:48 ·  中国 山东 淄博 联通
银牌会员
★★★
积分 1,604
发帖 646
注册 2008-04-13 23:39
18年会员
UID 115804
性别 男
状态 离线
三楼代码。。。 存在特殊字符问题 凑合用吧 ^_^

[ Last edited by pusofalse on 2008-5-12 at 08:26 PM ]
3 发表于 2008-05-12 20:26 ·  中国 山东 淄博 联通
银牌会员
★★★
积分 1,604
发帖 646
注册 2008-04-13 23:39
18年会员
UID 115804
性别 男
状态 离线
模仿terse前辈的代码

@echo off&setlocal enabledelayedexpansion
type a.txt>b.txt
set n=-1
:1
for /f "delims=" %%a in (a.txt) do set/a n+=1&call :lp "%%a"
ping 127.1 /n 3 >nul &set n=-1&goto 1

:lp
if not !n! equ 0 (
for /f "skip=%n% delims=" %%a in (b.txt) do (
set /a m=!n!+1
if not "%%a" equ "%~1" echo &echo 第!m!行改变
goto :eof
)
)
for /f "delims=" %%a in (b.txt) do (
if not "%%a" equ "%~1" echo &echo 第1行改变
goto :eof
)


[ Last edited by pusofalse on 2008-5-12 at 08:32 PM ]
4 是不是可以简单点: 发表于 2008-05-12 20:53 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
前提是先将a.txt备份如b.txt(实际中请加上完整路径)

@echo off
fc a.txt b.txt>nul 2>nul
if errorlevel 1 echo a.txt已被改动!
pause>nul


[ Last edited by zw19750516 on 2008-5-12 at 08:57 PM ]
批处理之家新域名:www.bathome.net
5 发表于 2008-05-15 11:29 ·  中国 江苏 扬州 电信
高级用户
★★★
积分 620
发帖 329
注册 2007-12-05 15:34
18年会员
UID 104754
性别 男
状态 离线
提示一下思路

先拷贝一个。。。
后对比....
有改动。。。就报警提示。。。
论坛跳转: