关于移动文件的问题
我想将A文件夹中的一批文件(命名无规律)逐个移到B文件夹中,如果B文件夹中有此文件,即将移过来的文件名加后缀1,如若加缀1后还有则加缀2,依次类推。我该如何用代码实现?请大侠批教。
程序代码:
Option Explicit Dim path1 As String Dim path2 As String Private Sub Command1_Click() File1.Path = path1 '文件框2个。 File2.Path = path2 Dim i1 As Long, i2 As Long Dim s1 As String, s2 As String Dim fjs As Long Dim fyes As Boolean For i1 = 0 To File1.ListCount - 1 s1 = File1.List(i1) '取文件名1 fjs = 0 '文件计数初始为0,这个0 不组合到文件名中去 s2 = s1 '初始文件名2 Do fyes = True '假设可以直接复制 For i2 = 0 To File2.ListCount - 1 '遍类所有的文件名 If s2 = File2.List(i2) Then '如果同名 fyes = False '不可以直接复制 fjs = fjs + 1 '计数+1 s2 = Left(s1, InStrRev(s1, ".") - 1) & fjs & Mid(s1, InStrRev(s1, ".")) '组合新文件名 Exit For '结束本次遍类 End If Next i2 Loop While Not fyes '如果不可以直接复制时继续循环 FileCopy path1 & s1, path2 & s2 '复制文件 Kill path1 & s1 '删除文件 File2.Refresh '刷新 文件框2 '注意不要刷新文件框1,否则会导致 FOR 循环出错 Next i1 End Sub Private Sub Form_Load() path1 = "E:\A\" '路径后面必须带 \ 符号,否则复制文件时报错。可以你自己加错误处理。 path2 = "E:\B\" End Sub