以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  IIS的ftp不能一次建两级目录吗?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=40462)

--  作者:hui986
--  发布时间:2013/9/20 21:16:00
--  IIS的ftp不能一次建两级目录吗?

MakeDir

在ftp上创建目录,语法:

MakeDir(Path)

Path:要创建的目录。

如果创建目录成功,则返回True,否则返回False.

示例

Dim ftp1 As New FtpClient
ftp1.Host="196.128.143.28"
ftp1.Account = "foxuser"
ftp1.Password = "138238110"
If ftp1.MakeDir("\\photo\\hdx") Then
    Messagebox.Show("创建目录成功!")
Else
    Messagebox.Show("创建目录失败!")
End If

 

 

注,单独创建一个是成功的!

ftp1.MakeDir("photo“)

 

如果用《帮助》的代码是提示("创建目录失败!")

[此贴子已经被作者于2013-9-20 21:44:47编辑过]

--  作者:有点甜
--  发布时间:2013/9/20 21:48:00
--  
 没有可用的ftp可以测试,理应是可以创建多级目录的。

 实在不行,可以自己用\\分隔去创建。

--  作者:hui986
--  发布时间:2013/9/20 23:03:00
--  

用了分隔了,不稳定,一时可以,一时又乱,搞了两天了!

Messagebox.show("当前FTP目录" & ftp1.CurrentDir)
If ftp1.DirExists(ftp_dir) = False  Then
        Dim ftp_dirs() As String
        ftp_dirs = ftp_dir.split("\\")
        For Index As Integer = 2 To ftp_dirs.Length - 1   \'注因为第0,1数组是系统分配的,所以从第3位数组开始!
            Messagebox.show("历遍" & Index)
            If ftp1.DirExists( ftp_dirs(Index)) = False  Then
                Messagebox.show("历遍" & Index & "判断FTP目录  :   "  &  ftp_dirs(Index)  & " [不存在] "  )
               
                If ftp1.MakeDir( ftp_dirs(Index)) Then
                    ftp1.Changedir( ftp_dirs(Index))
                    Messagebox.show("改变FTP目录到:    " & ftp_dirs(Index))
                    Messagebox.show("当前FTP目录" & ftp1.CurrentDir)
                End If
            Else
                ftp1.Changedir(ftp_dirs(Index))
                Messagebox.show("历遍" & Index & "判断FTP目录  :   "  &  ftp_dirs(Index)  & " [存在] "  )
                Messagebox.show("当前FTP目录" & ftp1.CurrentDir)
            End If
        Next
    End If

[此贴子已经被作者于2013-9-20 23:06:53编辑过]

--  作者:hui986
--  发布时间:2013/9/20 23:40:00
--  

终于用分隔完成了,上面的错误是由于历遍的过程改过了路径,所以再次历遍创建目录出错了!