求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盘去。大神,求帮助!
展开
2个回答
展开全部
@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里面去。有听懂吗?
展开全部
看看以下代码:
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",懂吗?)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询