Private Declare Function PathFileExists Lib "shlwapi.dll" Alias "PathFileExistsA" (ByVal pszPath As String) As Long
成都創(chuàng)新互聯(lián)公司主營黃山區(qū)網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,app軟件開發(fā)公司,黃山區(qū)h5微信小程序定制開發(fā)搭建,黃山區(qū)網(wǎng)站營銷推廣歡迎黃山區(qū)等地區(qū)企業(yè)咨詢
這是封裝在Shell32.DLL系統(tǒng)文件里的一個函數(shù),既可以判斷本地文件是否存在,又可以判斷遠(yuǎn)程電腦上的文件是否存在。函數(shù)返回值是個Long型變量,返回兩個值0,1。1表示文件存在(True),0表示文件不存在(False)。而且只有一個參數(shù)szPath,是個字符串變量,如果要判斷本地的文件是否存在其路徑可寫為:”C:\Windows\Config\SysBook.Txt”),如果文件在遠(yuǎn)程電腦上,其路徑可寫為(假設(shè)對方電腦IP為192.168.0.2)
"\\192.168.0.2\d$\javatools\somefile.txt",如果其電腦名為WorkStation可寫為
“\\workstation\javatools\somefile.txt",當(dāng)然這個函數(shù)還可以查找網(wǎng)站上的網(wǎng)頁文件如:""
我們可以寫個簡單的自定義公用函數(shù)來完成這個功能,在自定義函數(shù)里調(diào)用這個API函數(shù)
Public Function GetFileExists(ByVal FileName As String) As Boolean
If FileName = "" Then
MsgBox "請輸入文件名", vbInformation, "提示"
Exit Function
Else
GetFileExists = CBool(PathFileExists(FileName))
End If
End Function
在窗體界面上加一按鈕,和一文本框
Private Sub Command1_Click()
Dim T As Boolean
T = GetFileExists("F:\it\Develope\Retail\Bill\vssver.scc")
If T = True Then
Text1.Text = "該文件存在"
Else
Text1.Text = "該文件不存在"
End If
End Sub
當(dāng)然GetFileExists其中的參數(shù)還可以寫成
"\\192.168.0.2\d$\javatools\somefile.txt"
"\\workstation\javatools\somefile.txt"
""
這個函數(shù)除了能判斷文件是否存在外,還可以判斷本地或遠(yuǎn)程文件夾
是否存在,我覺得這要比用Dir這個VB自帶函數(shù)來判斷文件是否存在要好用多了,而且也不需要調(diào)用FileSystemObject組件來操作了。
先imports
system.runtime.interopservices
然后class
xxxx
public
shared
function
zlibversion()
as
string
end
function...'在里面調(diào)用zlibversion()即可調(diào)用zlib1.dll的zlibversion方法,其他dll你根據(jù)接口靈活定義好了end
class
判斷和創(chuàng)建可以放在一起。
創(chuàng)建空文件夾:
Directory.CreateDirectory(文件夾完整路徑)
'系統(tǒng)會自動判斷文件夾是否存在,不存在就創(chuàng)建判斷并創(chuàng)建空文件:
Using fs As New FileStream("f.txt", FileMode.OpenOrCreate)
'你可以用這個FileStream做其它事情
End Using
If My.Computer.FileSystem.FileExists("c:\Check.txt") Then
MsgBox("File found.")
Else
MsgBox("File not found.")
EndIf
API函數(shù) PathFileExists
聲明
Private Declare Function PathFileExists Lib "shlwapi.dll" Alias "PathFileExistsA" (ByVal pszPath As String) As Long
PathFileExists("一個文件或文件夾") 如果存在 返回1 不存在返回0
If PathFileExists("C:\123") then ...
Dir不準(zhǔn)確
如果有下列目錄結(jié)構(gòu)
D盤中有文件夾 test 文件夾中有testFile.txt文件
還有空文件夾 testEmpty
則
Dir("d:\test\testFIie.txt") 返回 testFile.txt
Dir("d:\test\testFIie11111111.txt") 返回 ""
Dir("d:\test\") 返回 testFile.txt (返回此文件夾第一個文件)
Dir("d:\testEmpty") 返回空
dir("一個不存在的文件夾")返回空
也就是說如果一個文件夾下沒有文件(不管有沒有子文件夾)則 dir("一個文件夾")就返回空
所以不能通過 dir("一個文件夾")來判斷一個文件夾是否存在。
只能調(diào)用api函數(shù)
Private Declare Function PathFileExists Lib "shlwapi.dll" Alias "PathFileExistsA" (ByVal pszPath As String) As Long
PathFileExists("一個文件或文件夾") 如果存在 返回1 不存在返回0