现在需要对一组字符串,进行判断,判断是文件还是文件夹?
比如:g:\aaa\cd.dfd(这其实是个文件夹,因为文件夹的名字被起成了(cd.dfd))
    g:\cdcd\eee\cd.cld(这就是个文件!)就安照上面的逻辑,帮忙看下,如何能正确判断出是文件还是文件夹,FileSystemObject对象无效,因为在本地
都存在这样的数据,所以判断了都是false

解决方案 »

  1.   

    if getattr("G:abc\ccc\df\今天.123") and vbdirectory=vbdirectory then msgbox "OK"
      

  2.   

    if (getattr("G:abc\ccc\df\今天.123") and vbdirectory)=vbdirectory then msgbox "OK"
    少了括号.....
      

  3.   

    老马,我都说了,那组字符串,并没有实际的意义,你用getattr,那么这组字符串就有了实际意义,就存在了自己的机器上面
    而我这只是段字符串,,我自己的机器上面并没有G盘的:(
      

  4.   

    Option Explicit'判断一字符串是文件还是文件夹
    Dim S As String
    Private Sub Command1_Click()
            
            S = "C:\WINDOWS"        '按下面这个顺序判断  
            If Dir(S, vbArchive) <> "" Then
               MsgBox (S & "是存档文件!"): Exit Sub
            End If
            
            If Dir(S, vbHidden) <> "" Then
               MsgBox (S & "是隐藏文件!"): Exit Sub
            End If
            
            If Dir(S, vbDirectory) <> "" Then
               MsgBox (S & "是文件夹!"): Exit Sub
            End If
            
            MsgBox (S & "既不是文件也不是文件夹!")
            
    End Sub
      

  5.   


    用right判断右边4个字符是.dfd的就是文件夹?
    或者饱含2个\号的就是文件夹,否则就是文件?感觉楼主不会问那么简单的问题...那还能推断出什么逻辑呢?
      

  6.   

    If InStr(S, ".") > 0 Then
    MsgBox "文件"
    Else
    MsgBox "文件夹"
    End If
      

  7.   

    所以说,FileSystemObject对象 给你返回的结果也是正确的。
      

  8.   

    我明白了:
    楼主是要判断cd.dfd是不是硬盘上的文件夹,cd.dld是不是硬盘上的文件。
    如果是这样可用VB的Shell调用DOS命令Dir搜索一下。
      

  9.   


    老马这家伙,,尽扯淡 >_< !
      

  10.   


    网络上传过来的数据不太好判断,原因很简单,跟本机无关的字符串无法判断。就算是VB的getattr、Dir函数,都跟本机的FAT表有关!