中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: [求助]文本对比的新问题 上一主题 | 下一主题
w1314ich
中级用户





积分 234
发帖 119
注册 2007-4-22
状态 离线
『楼 主』:  [求助]文本对比的新问题

文本1内容:
a
ab
abc
abcd
文本2内容:
a
abr
abc
abcd
abcde


使用批处理对比两个文本内容后输出的结果为:
abr
结果中不包含文本2中的abcde,这是文本2中比1多的内容,为什么不能显示出来呢

2007-12-30 14:42
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
greenworld
初级用户





积分 86
发帖 45
注册 2007-7-26
状态 离线
『第 2 楼』:  

LZ,这个问题不好回答吧?你用了什么命令才产生这种结果的呢?问题的关键在于你用的命令本身而不是比较的文本文件本身,怎么不发你用的命令内容出来而发文本文件的内容出来呢?

2007-12-30 14:58
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





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

把你的代码贴出来看看



2007-12-30 17:18
查看资料  发短消息 网志   编辑帖子  回复  引用回复
ZJHJ
高级用户





积分 609
发帖 374
注册 2006-8-2
状态 离线
『第 4 楼』:  

我批处理水平不好,写得有点烦琐。希望高手精简!不过是成品哦!

@echo off
@title      文件内容变化检出程序 wang in 070810yc QQ251485609
:cxsr
@echo.
@echo.
@echo                         这是文件内容变化对比检出程序
@echo.
@echo                  它将自动检出在原始文件上被改动或增加的行内容
@echo.            
@echo.
SET /P gwjm=     请将原始文件拉入本窗口:
if exist  %gwjm%  goto  zx
@goto  cxsr
:zx
@echo 原始文件>原始.txt
more  %gwjm%>>原始.txt
:cx2
SET /P xwj=      请将内容有变化的新文件拉入本窗口:
if exist  %xwj%  goto  zx2
@goto  cx2
:zx2
@echo 新文件>新有.txt
more  %xwj%>>新有.txt
@echo     检出有变化或新增加的文件如下:   (开始运行: %date%   %time%)>检出结果.txt
copy  原始.txt + 新有.txt  en1.txt
del 原始.txt
del 新有.txt
cls
@echo.
@echo                程序正在运行,请稍候... ...
@echo.
cd.>a.txt
for /f "delims=" %%i in (en1.txt) do >>a.txt echo ★★%%i
del en1.txt
cd.>t.txt
for /f "delims=" %%i in (a.txt) do (
  if not defined %%i set %%i=A & echo %%i>>t.txt
)
del a.txt
findstr /n /i /r /c:"\<新文件\>"  t.txt>w.txt
FOR /F %%i in (w.txt) do set m=%%i
cd.>1.txt
more +%m:~0,-6% t.txt>>1.txt
setlocal ENABLEDELAYEDEXPANSION
cd.>1j.txt
FOR /F "delims=" %%i in (1.txt) do (
SET wei=%%i
SET wei=!wei:★★= !
ECHO !wei!>>1j.txt
)
del 1.txt
del t.txt
del w.txt
cls
cd.>2j.txt
findstr  /i  /v  "\<新文件\>"  1j.txt>>2j.txt
cd.>1j.txt
findstr  /i  /v  "\<关闭状态\>"  2j.txt>>1j.txt
@echo.>>检出结果.txt
findstr  /i  /v  "\<字节\>"  1j.txt>>检出结果.txt
@echo.>>检出结果.txt
@echo                                操作运行结束时间:   %time%>>检出结果.txt
del 1j.txt
del 2j.txt
cls
call 检出结果.txt

2007-12-30 18:14
查看资料  发短消息 网志   编辑帖子  回复  引用回复
qq43142691
中级用户





积分 327
发帖 152
注册 2007-5-4
状态 离线
『第 5 楼』:  

@echo off
cd.>相同.txt
cd.>不同.txt
for /f "delims=" %%a in ('dir /a-d /b "文件夹A路径"') do (
    dir /a-d /b "文件夹B路径"|find "%%a" >>相同.txt || echo %%a>>不同.txt
)
for /f "delims=" %%i in (不同.txt) do (del /q /s iscsi206\%%i)

2007-12-30 18:53
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: