中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何对比两个TXT如不同就执行某程序
作者:
标题: 如何对比两个TXT如不同就执行某程序 上一主题 | 下一主题
wjlove2002
初级用户





积分 51
发帖 18
注册 2007-3-28
状态 离线
『楼 主』:  如何对比两个TXT如不同就执行某程序

如A.txt是本地文本,里面的是518  
B.txt是服务器上如192.168.0.**里面的是618  对比A和B,如发现相同就退出,不同就执行某程序/

2008-5-19 17:43
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
huahua0919
银牌会员




积分 1608
发帖 780
注册 2007-10-7
状态 离线
『第 2 楼』:  

如果a.txt是本地文件
且每个文件中的数值都在第一行
远程机器b.txt所在文件夹为admin$
@echo off&setlocal enabledelayedexpansion
set/p a=<a.txt
for /l %%a in (1 1 255) do (
set/p b=<\\192.168.0.%%a\admin$\b.txt
if/i "%a%"="!b!" (goto :eof) else (start ...)
)
未测试,根据自己要求进行修改

2008-5-19 18:03
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
wjlove2002
初级用户





积分 51
发帖 18
注册 2007-3-28
状态 离线
『第 3 楼』:  

2楼谢谢,测试好像不通过。
想用COMP  
comp  A.txt b.txt           比较A与B
if %ERRORLEVEL% EQU 1 goto not     如不同返回1 执行  
goto eof  不同执行exit
:not
start   A.EXE
exit
:eof  
exit

测试了一下可以对比,但是有个问题每次都询问是否要比较更多文件?参数里面没有去掉更多对比。

还有更好的办法吗?

[ Last edited by wjlove2002 on 2008-5-19 at 06:33 PM ]

2008-5-19 18:29
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 4 楼』:  



  Quote:
Originally posted by wjlove2002 at 2008-5-19 06:29 PM:
2楼谢谢,测试好像不通过。
想用COMP  
comp  A.txt b.txt           比较A与B
if %ERRORLEVEL% EQU 1 goto not     如不同返回1 执行  
goto eof  不同执行exit
:not
start  ...


echo n|comp a.txt b.txt




2008-5-19 18:58
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wjlove2002
初级用户





积分 51
发帖 18
注册 2007-3-28
状态 离线
『第 5 楼』:  

谢谢,测试通过。

2008-5-19 19:02
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: