Cocoa Dev
Cocoa Dev

Reputation: 9541

how can I check if a file exists?

I want to check to see if a file exists and if it does, I want to open it and read the 1st line,

If the file doesn't exist or if the file has no contents then I want to fail silently without letting anyone know that an error occurred.

Upvotes: 36

Views: 125313

Answers (3)

Đức Thanh Nguyễn
Đức Thanh Nguyễn

Reputation: 9365

For anyone who is looking a way to watch a specific file to exist in 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

Usage:

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

Upvotes: 0

allanw
allanw

Reputation: 9

an existing folder will FAIL with FileExists

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

use instead or in addition:

Function FolderExists(strFolderPath)
' Check if a path exists

Upvotes: -3

Helge Klein
Helge Klein

Reputation: 9085

Start with this:

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

Taken from the documentation.

Upvotes: 72

Related Questions