2014-07-15 38 views
0

我有除文件擴展名外的文件的整個路徑的文件名。檢查沒有擴展名的文件名是否存在

例如:"C:\temp\FileNameWithoutExtension"。現在我想檢查這個文件是否存在?我不關心文件擴展名。

當我有整個文件名包括文件擴展名我正在使用下面的代碼來查看文件是否存在。

Set oFSO = CreateObject("Scripting.FileSystemObject") 
FileExists = oFSO.FileExists(FileName) 

感謝您的幫助。

+0

現在,我通過父目錄中的所有文件決定環和做類似InStr函數( 「C:\ TEMP \ FileNameWithoutExtension.txt」,「C:\ TEMP \ FileNameWithoutExtension 「)> 0,看看文件是否存在,但我想知道是否有更好的方法來做到這一點。 – user1558076

回答

3

如果FileExists處理通配符但它不會,它會很好。會有這樣的幫助嗎?

Set objFSO = CreateObject("Scripting.FileSystemObject") 
Set objFolder = objFSO.GetFolder("C:\temp") 
Set objFiles = objFolder.Files 

For Each objSingleFile in objFiles 
    If objSingleFile.Name Like "FileNameWithoutExtension*" Then 
     ' The file name starts with FileNameWithoutExtension 
     MsgBox "Are you looking for me?: " & objSingleFile.Name 
    End If 
Next 

這是假設您正在搜索的位置,它不是recusrive,但基本知識在這裏供您查看。這不是唯一的方法。

+0

是的,我認爲這有助於。謝謝。 – user1558076

+0

@ user1558076:如果您發現它解決了您的問題,請考慮[接受答案](http://meta.stackexchange.com/a/5235)。 –

0

試試這個

Sub FileExist() 
    Dim file As String, fileName As String 
    fileName = "C:\temp\abc" & "*" 
    file = Dir(fileName) 

    If file = "" Then 
     MsgBox "File doesn't exist" 
    Else 
     MsgBox "file found" 
    End If 
End Sub 
+0

我喜歡你的想法,但我得到錯誤「變量未定義:'Dir'」 – user1558076

相關問題