以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  服务器移动文件问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=144677)

--  作者:mamuaiqing
--  发布时间:2019/12/26 19:47:00
--  服务器移动文件问题

代码如下:

Functions.Execute("FTP服务器",_ftp)  \'判断服务器
    If _ftp.Rename("\\product picture\\1305-0001\\1312-010.jpg","\\Backup picture\\1908-004\\1908-004.jpg") Then  \'从服务器的原图片移动到备份文件夹
        MessageBox.Show("移动文件成功!","错误提示!",MessageBoxButtons.OK,MessageBoxIcon.Information)
        _ftp.Close
    Else
        MessageBox.Show("移动文件失败!","错误提示!",MessageBoxButtons.OK,MessageBoxIcon.Information)        
        _ftp.Close  \'如果移动失败,关闭连接
    End If

 

帮助文件:

 

写这段帮助的时候,我意外发现Rename还可以移动文件。
例如将文件"jz.png"从photo目录移到到newkey目录:

Dim ftp1 As New FtpClient
ftp1
.Host="196.128.143.28"
ftp1
.Account = "foxuser"
ftp1
.Password = "138238110"
If
ftp1.Rename("\\photo\\jz.png","\\newkey\\jz.png") Then
   
Messagebox.show("移动文件成功!")
End If

 

代码执行后返回提示移动文件失败,用FileExists判断文件,返回结果存在;用DirExists判断目录,返回结果存在,请教老师那里出问题了,谢谢


--  作者:有点蓝
--  发布时间:2019/12/27 8:42:00
--  
看看目的文件夹是不是有重名的文件
--  作者:mamuaiqing
--  发布时间:2019/12/27 20:08:00
--  
目的文件夹1908-004是空的
图片点击可在新窗口打开查看此主题相关图片如下:2365447.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2019/12/27 20:08:50编辑过]

--  作者:mamuaiqing
--  发布时间:2019/12/27 20:10:00
--  
文件夹内不存在重复的文件
图片点击可在新窗口打开查看此主题相关图片如下:365899.jpg
图片点击可在新窗口打开查看

--  作者:mamuaiqing
--  发布时间:2019/12/27 20:16:00
--  
测试了其他文件也是不行
--  作者:有点蓝
--  发布时间:2019/12/27 21:36:00
--  
我测试没有问题。要么路径有问题,目的路径不存在;要么目的目录有重名的文件
--  作者:mamuaiqing
--  发布时间:2019/12/27 22:03:00
--  
奇怪,为什么用1908-004目录就失败,用其他目录就可以?

代码为If _ftp.Rename("\\product picture\\1305-0001\\1312-010.jpg","\\Backup picture\\1305-0001\\1908-004.jpg") Then  这样就可以

把目标文件复制到1908-004目录底下,代码为If _ftp.Rename("\\product picture\\1908-004\\1312-010.jpg","\\Backup picture\\1908-004\\1908-004.jpg") Then  这样就失败
        

--  作者:有点蓝
--  发布时间:2019/12/27 22:06:00
--  
这个路径和文件是否存在?"\\product picture\\1908-004\\1312-010.jpg"

改名测试有没有问题?

_ftp.Rename("\\product picture\\1908-004\\1312-010.jpg","\\Backup picture\\1908-004\\123456789.jpg")

--  作者:mamuaiqing
--  发布时间:2019/12/27 22:10:00
--  
学生是用这样代码测试  If _ftp.Rename("\\Backup picture\\1908-004\\78910.txt","\\Backup picture\\1908-004\\12365.txt") Then,测试结果失败

上面代码说错了

--  作者:有点蓝
--  发布时间:2019/12/27 22:16:00
--  
我建了同样的目录测试没有问题

Dim ftp1 As New FtpClient
ftp1.Host="127.0.0.1"
ftp1.Account = "ftpuser"
ftp1.Password = "12341234"
\'ftp1.OpenManager
If ftp1.Rename("\\Backup picture\\1908-004\\78910.txt","\\Backup picture\\1908-004\\123456.txt") Then
    Messagebox.show("移动文件成功!")
Else
    msgbox("失败")
End If