以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]创建的目录有时候正确有时候不正确。  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=66235)

--  作者:liujywwy
--  发布时间:2015/4/1 17:56:00
--  [求助]创建的目录有时候正确有时候不正确。
Dim lj As String = "/待用户现场确认版本_产线禁止使用/2015/" & Tables("临时版本跟踪表").current("临时版本编号") & "(" & Tables("临时版本跟踪表").current("客户") & "_" & Tables("临时版本跟踪表").current("博达机型") & ")"

If ftp.DirExists(lj) = False Then   \'不存在临时版本编号目录时先创建临时版本编号目录
    ftp.MakeDir(lj)
End If
Dim ml As String = lj  & "/" & Format(Date.now, "yyyy-MM-dd HH-mm-ss")
If ftp.DirExists(ml) = False Then  \'按照系统时间来创建时间目录
    ftp.MakeDir(ml)
End If

为什么创建的lj目录有些情况右边的)没有呢?有些又有呢?
比如没有的03127_2015(Techroutes_S2528C----少了一个右边的)
比如有的04004_2015(气象局_2605)----正确的。
[此贴子已经被作者于2015/4/1 17:56:17编辑过]

--  作者:有点甜
--  发布时间:2015/4/1 17:59:00
--  

 呃,你单独测试 ftp.MakeDir(lj) 看是否确实有问题。

 

 代码应该是没错的


--  作者:liujywwy
--  发布时间:2015/4/1 18:03:00
--  
是这样,msbbox弹出的路径是正确的,
/待用户现场确认版本_产线禁止使用/2015/03127_2015(Techroutes_S2528C)/2015-04-01 18-02-14
但是server上却不正确,少了一个右边的),导致也没有自动创建子目录
server上到文件夹
待用户现场确认版本_产线禁止使用\\2015\\03127_2015(Techroutes_S2528C

--  作者:有点甜
--  发布时间:2015/4/1 18:05:00
--  
 那你就单独写一段代码测试,输入绝对路径,看是否确实存在此情况。
--  作者:liujywwy
--  发布时间:2015/4/1 18:09:00
--  
测试了。
客户为上海贝尔,机型为S8510那就创建正确。
/待用户现场确认版本_产线禁止使用/2015/09094_2014(上海贝尔_S8510)/2015-04-01 18-06-15
客户为Techroutes ,机型为S2510就创建的不正确,少了一个右边的)
待用户现场确认版本_产线禁止使用\\2015\\03126_2015(Techroutes_S2510

--  作者:有点甜
--  发布时间:2015/4/1 19:08:00
--  
 贴出你测试的代码。
--  作者:有点甜
--  发布时间:2015/4/1 19:11:00
--  

直接写

 

Dim ftp1 As New FtpClient
ftp1.Host="196.128.143.28"
ftp1.Account = "foxuser"
ftp1.Password = "138238110"
If ftp1.MakeDir("/待用户现场确认版本_产线禁止使用/2015/03126_2015(Techroutes_S2510)") Then
    Messagebox.Show("创建目录成功!")
Else
    Messagebox.Show("创建目录失败!")
End If

[此贴子已经被作者于2015/4/1 19:11:49编辑过]

--  作者:liujywwy
--  发布时间:2015/4/2 9:54:00
--  
单独测试你的代码是没有问题的。
这是我的代码。提示创建一级,二级目录成功,实际上server上并未创建成功。现在发现有2个肯定是创建不成功的(客户为Microlink-svyaz和Techroutes),其它抽测试了一下好像都能创建成功。搞不懂啥原因了。是否和创建二级目录(时间相关导致的。)
If vars("路径") = "" Then
    
    
    
    ftp.ChangeDir("/待用户现场确认版本_产线禁止使用/2015")   \'进入到待用户现场确认版本_产线禁止使用\\2015目录
    Dim lj As String = "/待用户现场确认版本_产线禁止使用/2015/" & Tables("临时版本跟踪表").current("临时版本编号") & "(" & Tables("临时版本跟踪表").current("客户") & "_" & Tables("临时版本跟踪表").current("博达机型") & ")"
    
    If ftp.DirExists(lj) = False Then   \'不存在临时版本编号目录时先创建临时版本编号目录
        ftp.MakeDir(lj)
        Messagebox.Show("创建一级目录成功!")
    End If
    Dim ml As String = lj  & "/" & Format(Date.now, "yyyy-MM-dd HH-mm-ss")
    If ftp.DirExists(ml) = False Then  \'按照系统时间来创建时间目录
        ftp.MakeDir(ml)
        Messagebox.Show("创建二级目录成功!")
    End If
    Tables("临时版本跟踪表").current("发布目录") = ml
    vars("zhygwjj") = ml
    
    
    ftp.Close
Else
    vars("zhygwjj") = Tables("临时版本跟踪表").current("发布目录")
    
    Functions.Execute("listview")
End If
[此贴子已经被作者于2015/4/2 14:59:13编辑过]

--  作者:有点甜
--  发布时间:2015/4/2 10:26:00
--  
 你表数据肯定有问题。output.Show(lj)看一下
--  作者:liujywwy
--  发布时间:2015/4/2 10:32:00
--  


图片点击可在新窗口打开查看此主题相关图片如下:一级.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:二级.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:实际显示.png
图片点击可在新窗口打开查看
实际的目录是没有右边的),也没有ml的子目录。
[此贴子已经被作者于2015/4/2 10:33:02编辑过]