同步公司电脑上的软件.vbs

本文介绍了一个使用VBScript编写的脚本,该脚本可以用来同步两个指定文件夹之间的文件和子文件夹。它通过比较文件名、大小及最后修改日期来确保文件的一致性,并创建缺少的子文件夹。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

05~06年写的东西,放上来,做个备份吧,现在看看,那时候写的代码,还是很规范的。

要是现在,我肯定会用javascript 或 python来写。


Option Explicit '------------------------------------------------------------ '描述:用于同步两个目录中的目录和文件 '------------------------------------------------------------ 'Const strFolderA = "G:\Downloads\Soft" 'Const strFolderB = "K:\Soft" Const strFolderB = "G:\Downloads\Soft" Const strFolderA = "K:\Soft" Dim fsoObj Set fsoObj = CreateObject("Scripting.FileSystemObject") If Not fsoObj.FolderExists(strFolderA) Then MsgBox("源目录" & strFolderA & "不存在!") Else If Not fsoObj.FolderExists(strFolderB) Then fsoObj.CreateFolder(strFolderB) Synchronize strFolderA, strFolderB End If Set fsoObj = Nothing MsgBox("恭喜,同步成功!") '------------------------------------------------------------ '描述:同步两个文件夹 '参数: ' sFolderA 目录名 ' sFolderB 目录名 '返回:无 '------------------------------------------------------------ Sub Synchronize(sFolderA, sFolderB) Dim fsoFolderA,fsoFolderB Dim fsoSubFolderA, fsoSubFolderB Dim itmFolderA,itmFolderB Dim fsoFileA,fsoFileB Dim itmFileA,itmFileB Dim blnFileInFolderB Dim blnFolderInFolderB Set fsoFolderA = fsoObj.GetFolder(sFolderA) Set fsoFolderB = fsoObj.GetFolder(sFolderB) Set fsoFileA = fsoFolderA.Files Set fsoFileB = fsoFolderB.Files For Each itmFileA In fsoFileA blnFileInFolderB = False For Each itmFileB In fsoFileB If itmFileA.Name = itmFileB.Name And _ itmFileA.Size = itmFileB.Size And _ itmFileA.DateLastModified = itmFileB.DateLastModified Then blnFileInFolderB = True Exit For End If Next If Not blnFileInFolderB Then itmFileA.Copy fsoFolderB.path & "\" & itmFileA.Name, True End If Next Set fsoFileA = Nothing Set fsoFileB = Nothing Set fsoSubFolderA = fsoFolderA.SubFolders Set fsoSubFolderB = fsoFolderB.SubFolders For Each itmFolderA In fsoSubFolderA blnFolderInFolderB = False For Each itmFolderB In fsoSubFolderB If itmFolderA.Name = itmFolderB.Name Then blnFolderInFolderB = True Exit For End If Next If Not blnFolderInFolderB Then fsoObj.CreateFolder(fsoFolderB.path & "\" & itmFolderA.Name) End If Synchronize itmFolderA.Path, Replace(itmFolderA.Path,strFolderA,strFolderB) Next Set fsoSubFolderA = Nothing Set fsoSubFolderB = Nothing Set fsoFolderA = Nothing Set fsoFolderB = Nothing End Sub

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值