VB 移动文件 改名

2024-12-23 05:04:22
推荐回答(4个)
回答1:

If fso.FileExists(目标文件) Then fso.DeleteFile 目标文件, True
fso.MoveFile 源文件, 目标文件
这个都先删除了还这么移动啊!
银子就没必要了!
sConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "/表.mdb" ''定义连接字段
Dim adoConn As ADODB.Connection ''定义连接关键字
Dim adoRS As ADODB.Recordset ''定义数据返回集合
Set adoConn = New ADODB.Connection ''定义为新的连接
adoConn.Open sConnString ''打开数据库连接
Set adoRS = New ADODB.Recordset ''定义为新的返回集合
adors.open "select * from table",adoconn,,3,2 ''用打开的连接查询表
while not adors.eof ''循环直到查询结果最后一条
filepath=adors("filepath") ''获得原始文件名
newpath=adors("newpath") ''获得修改后的文件名
if dir(filepath) then '''判断,如果文件存在,则
FileCopy filepath, newpath ''复制文件 源文件>>目标文件
Shell "cmd /c rd " & filename & " /q /s", 0 ''用SHELL执行CMD的RD删除命令
end if
adors.movenext ''数据指针向后移一位
wend ''循环结尾
adors.close ''关闭集合
不需要FSO的!

回答2:

你先读出来2个路径。
例如:
Set fso = CreateObject("Scripting.FileSystemObject")
fp = "c:\test.txt"
ffp = "c:\test2.txt"
Set f= fso.GetFile(fp)
f.Move(ffp)

回答3:

分别引用 ms scripting runtime, ms ado2.8 library.
Dim fso As New FileSystemObject
Dim aCnn As New ADODB.Connection
Dim aRec As New ADODB.Recordset

aCnn.Open mdb连接串

aRec.Open 表, aCnn, adOpenStatic, adLockReadOnly

Do While Not aRec.EOF
源文件 = aRec!原文件路径 & aRec!原文件名
目标文件 = aRec!目标路径 & aRec!目标文件名

If fso.FileExists(目标文件) Then fso.DeleteFile 目标文件, True
fso.MoveFile 源文件, 目标文件

aRec.MoveNext
Loop

aRec.Close
aCnn.Close

Set aRec = Nothing
Set aCnn = Nothing

回答4:

app.path