2011-08-23 246 views
30

我想检查一个文件是否存在,如果存在,我想打开它并读取第一行,如何检查文件是否存在?

如果文件不存在或文件没有内容,那么我想要默默地失败,不让任何人知道发生了错误。

+2

您是否在任何地方搜索'vbscript file exists'? – Fionnuala

+0

@Fionnuala但这*是*谷歌的第一个结果:D;) – gordatron

回答

57

开始与此:

Set fso = CreateObject("Scripting.FileSystemObject") 
If (fso.FileExists(path)) Then 
    msg = path & " exists." 
Else 
    msg = path & " doesn't exist." 
End If 

documentation服用。

-3

现有文件夹,将FILEEXISTS

失败
Function FileExists(strFileName) 
' Check if a file exists - returns True or False 

使用代替或补充:

Function FolderExists(strFolderPath) 
' Check if a path exists 
+0

这个答案不回答这个问题。它也不遵循格式指南。 –

+0

答案不提供任何功能代码 –

0

对于任何人谁是寻找一种方式来观看特定的文件在VBS存在:

Function bIsFileDownloaded(strPath, timeout) 
    Dim FSO, fileIsDownloaded 
    set FSO = CreateObject("Scripting.FileSystemObject") 
    fileIsDownloaded = false 
    limit = DateAdd("s", timeout, Now) 
    Do While Now < limit 
    If FSO.FileExists(strPath) Then : fileIsDownloaded = True : Exit Do : End If 
    WScript.Sleep 1000  
    Loop 
    Set FSO = Nothing 
    bIsFileDownloaded = fileIsDownloaded 
End Function 

用法:

FileName = "C:\test.txt" 
fileIsDownloaded = bIsFileDownloaded(FileName, 5) ' keep watching for 5 seconds 

If fileIsDownloaded Then 
    WScript.Echo Now & " File is Downloaded: " & FileName 
Else 
    WScript.Echo Now & " Timeout, file not found: " & FileName 
End If