求bat脚本高手帮忙比较2个txt文档内容是否相同

C盘A文件夹里面有1.txt和若干其他文件,D盘A文件夹里面也有1.txt和若干其他文件。如果C:A\1.txt里面的内容和D:A\1.txt不同,则把C盘中的A文件夹删... C盘A文件夹里面有1.txt和若干其他文件,D盘A文件夹里面也有1.txt和若干其他文件。如果C:A\1.txt里面的内容和D:A\1.txt不同,则把C盘中的A文件夹删除,并且把D:A\1.TXT文件夹拷贝到C盘去。大神,求帮助! 展开
 我来答
z2395501194
推荐于2017-12-15 · TA获得超过148个赞
知道答主
回答量:163
采纳率:0%
帮助的人:117万
展开全部
  @echo off
  for /f %%i in (C:\a\1.txt) do (
  for /f %%e in (D:\a\1.txt) do (if not %%i==%%e (
  del C:\a\1.txt
  copy D:\a\1.txt C:\a\1.txt
  )
  )
  )
  pause

  ============================the end============================

  还有,弱弱问句,你的意思,是不是让D:A\1.TXT文件夹拷贝到C盘去,我的代码好像烦了点。如果只是这样,“copy D:\a\1.txt C:\a\1.txt”够了

追问
我的意思是:如果C:\A\1.TXT的内容和D:\a\1.txt的内容不相同,那么把D里面的东西覆盖到C里面去。有听懂吗?
控盘惨
2013-08-27 · TA获得超过1074个赞
知道小有建树答主
回答量:582
采纳率:100%
帮助的人:484万
展开全部

看看以下代码:

On Error Resume Next
Dim fso,op,op2
Set fso=Wscript.CreateObject("Scripting.FileSystemObject")
'创建一个对象,用于处理文件类的事件。
Set op=fso.OpenTextFile("C:\A\1.txt",1)
Set op2=fso.OpenTextFile("D:\A\1.txt",1)
'打开2个文本文件(内存中打开,并不是真的打开)
if op.ReadAll=op2.ReadAll Then
'读取它们并判断是否一致。
MsgBox "两个文件的内容一致",0+64,"注意"
else
MsgBox "两个文件的内容不一致,系统即将要删除C盘的A文件夹,并把D盘的A文件夹剪切到C盘!!!",0+16,"内容不一致"
op.Close
op2.Close
'关闭它们
fso.DeleteFolder("C:\A")
'删除C盘的A文件夹
fso.GetFolder("D:\A").Copy("C:\")
'将D盘的A文件夹复制到C盘
if fso.FolderExists("C:\A") Then
'如果复制成功
fso.DeleteFolder("D:\A")
'删除D盘的A文件夹
End if
'结束判断
End if
op.Close
op2.Close
'关闭它们

好的话记得采纳哦~~~~~

更多追问追答
追问
这些命令在.bat脚本中不能用啊.
追答
这是vbs脚本哦。你就保存为“xxx.vbs”就好了。(bat你一个一个用echo.....>>"xxx.vbs",懂吗?)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式