1. 程式人生 > 實用技巧 >根據全路徑的檔名 獲取 檔名(不帶字尾),檔名(帶字尾),當前路徑名,全路徑檔案下的路徑

根據全路徑的檔名 獲取 檔名(不帶字尾),檔名(帶字尾),當前路徑名,全路徑檔案下的路徑

剛好用到檔案 目錄這一塊,查了很多資料,各種程式碼都有,也到處拷貝了很多程式碼測試,感覺很多太過於複雜,好多都用到API 函式,自己整理了一份,淺顯易懂。

留著以後備用

'根據全路徑的檔名  獲取 檔名(不帶字尾),檔名(帶字尾),當前路徑名,全路徑檔案下的路徑

Public Function GetPathFromFile(strname As String, ByRef nameStr As String, Optional ByVal typeNum As Integer = 1) As String
    Dim aa, dd, ss, xx As String
    Dim bb, cc As Integer
    Dim yy As String
    'strname =D:\Data\1#\01.mdb
    
    bb = InStrRev(strname, "\")
    cc = Len(strname)
    dd = Right(strname, cc - bb)  '01.mdb
    xx = dd

    yy = Left(dd, Len(dd) - 4)  '01

    ss = Left(strname, bb - 1)   '去掉檔名  D:\Data\1#
    
    fullPath = ss
    
    bb = InStrRev(ss, "\")
    cc = Len(ss)
    dd = Right(ss, cc - bb)     '1#

    GetPathFromFile = dd
    
    Select Case typeNum:
    ' 獲取全路徑檔案下的檔名  (帶字尾)
    Case 1:
        nameStr = xx         '01.mdb
        
    ' 獲取全路徑檔案下的檔名  (不帶字尾)
    Case 2:
        nameStr = yy           '01
        
        
    ' 獲取全路徑檔案下的路徑   (去掉檔名)
    Case 3:
        nameStr = ss             ' D:\Data\1#
        
    ' 獲取全路徑檔案下的當前路徑名
    Case 4:
        nameStr = dd             '1#
        '
    
    End Select