zoukankan      html  css  js  c++  java
  • 用VB脚本复制文件夹并跳过重复文件

    VB中可通过 scripting.filesystemobject 对象操作文件,其中复制文件或文件夹的函数参数可选覆盖或不覆盖。选择覆盖时,如果目标路径存在同名文件或文件夹,则替换掉已存在的文件。而选择不覆盖时,当目标路径存在同名文件或文件夹,程序会抛出异常。因此 scripting.filesystemobject 对象内没有函数可以实现遇到已存在文件跳过的功能。

    下面通过 scripting.filesystemobject 对象来自己实现遇到已存在文件跳过的复制函数。

    Sub XCopy(objfso, source, destination, overwrite)
    	Dim objfol, objf, d_path
    	'Set objfso = CreateObject("scripting.filesystemobject")
    	Set objfol = objfso.GetFolder(source)
    	'创建目标文件夹
    	If Not objfso.FolderExists(destination) Then
    		objfso.CreateFolder destination
    	End If
    	'复制源文件夹下所有文件
    	For Each objf In objfol.Files
    		'生成目标文件路径
    		d_path = objfso.BuildPath(destination, objf.Name)
    		'如果要求覆盖或文件不存在则复制
    		If overwrite Or Not objfso.FileExists(d_path) Then
    			objf.Copy d_path
    		End If	
    	Next
    	'递归遍历子目录
    	For Each objf In objfol.SubFolders
    		d_path = objfso.BuildPath(destination, objf.Name)
    		XCopy objfso, objf.Path, d_path, overwrite
    	Next
    End Sub
    

    参数说明:

    • objfso:该参数为 scripting.filesystemobject 对象。
    • source:需要复制的文件夹路径。
    • destination:目的文件夹路径。
    • overwrite:该参数为True则覆盖同名文件,为False则跳过同名文件。

    示例程序:

    Dim objfso 
    Set objfso = CreateObject("scripting.filesystemobject")
    XCopy objfso, "D:source", "D:destination", False
    

      

  • 相关阅读:
    记CentOS-7-x86_64-DVD-1503与Windows7单硬盘双系统的安装
    NetCFSvcUtil.exe and Windows 7
    qq 通信原理(转)
    Qt通过odbc读取excel数据
    Qt中gb2312/GBK的URL编解码函数
    Qt将表格table保存为excel(odbc方式)
    Qt根据类名创建对象(元对象反射)
    亲试,Windows平台上使用Qt5.2.1编写Android
    使用正则表达式限制swing (JTextField等) 的输入
    Winform的"透明"
  • 原文地址:https://www.cnblogs.com/yada/p/11934419.html
Copyright © 2011-2022 走看看