卫和谐 发表于 2010-12-3 10:40:49

补充更正一下,是因为文件名字中前面含有==,如“==精美图文==”这样的文件夹,获取短文件名会失败,AFAN帮助解决 下!{:face (229):}

afan 发表于 2010-12-3 10:48:22

回复 121# 卫和谐


    没问题啊~

卫和谐 发表于 2010-12-3 10:52:46

本帖最后由 卫和谐 于 2010-12-3 10:53 编辑

你加密后,解密时试,加密时可以!如“==精美图文==.”

afan 发表于 2010-12-3 10:54:49

回复 123# 卫和谐


    你指的加密是?

卫和谐 发表于 2010-12-3 11:24:54

是我说的不明白,我是说加点(命名)和不加点(重命名)!{:face (303):}

afan 发表于 2010-12-3 11:44:59

回复 125# 卫和谐


    测试了,完全没问题。
其它的文件名试过吗?还是都不行?那你的系统应该是Win7?

卫和谐 发表于 2010-12-3 11:50:23

在U盘上建个名字如“==精美图文==.”的文件夹,你再获取它的文件名试 一下!

afan 发表于 2010-12-3 11:53:14

回复 127# 卫和谐


    试过了,正常

卫和谐 发表于 2010-12-3 12:44:58

邪门了,怎么我的不行,在硬盘分区的话就正常!

chenronting 发表于 2010-12-12 19:50:49

你好,我发现你写的那个UDF 有一个很有意思的现象。
情况1:直接双击桌面下的AU3文件,可以得到正确的短文件名
情况2:在SCITE编辑器里按F5运行,得到 0
情况3:编译好的文件,直接运行,得到正确的短文件名
情况4:加了参数运行这个程序,得到 0

猜想,是不是加参数运行与在SCITE编辑器里运行, 是同一种环境。。
不知道 AFan 有没有时间改改呢, 谢谢了。

afan 发表于 2010-12-12 20:01:16

回复 130# chenronting


    我刚才试了一下,我这是正常的…
情况4不知是如何测试的,猜想可能和工作目录有关

chenronting 发表于 2010-12-12 20:08:33

本帖最后由 chenronting 于 2010-12-12 20:10 编辑

回复 131# afan


    就是加上参数, 不管什么, 参考一下下面的代码If $CmdLine <> 0 Then
        If $CmdLine = 'RunByCustomers' Then
                $TabSheet1State = 0
        Else
                $TabSheet1State = 1
                _FTPConnection()
        EndIf
Else
        _FTPConnection()
EndIf而我用BAT 运行这个程序加上参数, 就会得不到短文件名
如果直接运行程序, 就可以得到正确的短文件名
BAT文件内容维修记录工具.exe RunByCustomers

afan 发表于 2010-12-12 20:16:23

回复 132# chenronting


    还是正常

chenronting 发表于 2010-12-12 22:11:39

回复 133# afan


    谢谢, 我用别的办法解决了, 不过不是很完美, 唉, 可能是环境的问题吧。郁闷。While $_duan8 = 0
                For $_duan8I = 1 To 6
                        $_duan8 = FileGetLongName("D:\大众电~" & $_duan8I)
                        If Not @error Then
                                If StringCompare($_duan8, $_weizi & $_filename) = 0 Then
                                        $_duan8 = '大众电~' & $_duan8I
                                        ExitLoop (2)
                                EndIf
                        EndIf
                Next
                If $_duan8I >= 6 Then Exit (MsgBox(4096, '提示', '没有找到保存数据的文件夹,程序装退出', 3));如果循环完就退出
        WEnd

pingfan5888 发表于 2010-12-25 07:02:02

蛮不错的,看看。
页: 1 2 3 4 5 6 7 8 [9] 10
查看完整版本: 获取畸形文件夹的短文件名