关于dir()的问题
在嗷嗷叫的老马空间中下载了一个“尝试做了一个利用WINSOCK控件的自动分包发送机制的东东(VB6.0)”软件学习
测试如下:
Private Sub Command1_Click() On Error GoTo err1 If Dir("C:\Documents and Settings\Administrator\桌面\尝试做了一个利用WINSOCK控件的自动分包发送机制的东东(VB6.0)\尝试做了一个利用WINSOCK控件的自动分包发送机制的东东(VB6.0)\Server\RecvTemp\新建文件夹\新建文件夹\PO Quotation _6-20-2011-CHN List-昆仑DPSys数据保护系统Jun 20,2011.xls") <> "" Then 'If Dir("C:\Documents and Settings\Administrator\桌面\尝试做了一个利用WINSOCK控件的自动分包发送机制的东东(VB6.0)\尝试做了一个利用WINSOCK控件的自动分包发送机制的东东(VB6.0)\Server\RecvTemp\新建文件夹\新建文件夹\1.doc") <> "" Then MsgBox "文件找到" Else MsgBox "文件未找到" End If Exit Suberr1: MsgBox Err.DescriptionEnd Sub
Shell "dir /b /a-d c:\\*.* >d:\\allfiles.txt",vbHide'读文件d:\\allfiles.txt的内容即C:\\下所有文件的名字Shell "dir /b /ad c:\\*.* >d:\\alldirs.txt",vbHide'读文件d:\\alldirs.txt的内容即C:\\下所有子目录的名字
[解决办法]
在msvbvm60里面Dir有些限制,也许算bug吧.
其实根本不是文件存在不存在的问题,结果msvbvm60扔出来的是异常.而不是正常的结果.正常结果要不dir返回文件名,要不返回空字符串.
LS说的不错,不过能用vb内部函数dir解决的,谁能想到用shell解决?
传输数据里面有","作为分隔符,文件名里面也有",",其实分隔符应该用文件名里面不允许的符号,比如<>*?"|\/作为分隔符.
[解决办法]
最简单的办法,改一个分隔符,文件名中肯定不会出现Chr(0)这个字符,所以用这个作分隔符最合适
[解决办法]
路径太长了,超过限制了,你可以在命令行下用DIR试试看。
累不累呀还是太懒了,用那么长的目录。