关于移动文件的问题
我想将A文件夹中的一批文件(命名无规律)逐个移到B文件夹中,如果B文件夹中有此文件,即将移过来的文件名加后缀1,如若加缀1后还有则加缀2,依次类推。我该如何用代码实现?请大侠批教。
2013-04-24 08:15
程序代码:
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

2013-04-24 09:10
2013-04-24 21:30