Как я могу проверить, существует ли файл? - PullRequest
31 голосов
/ 23 августа 2011

Я хочу проверить, существует ли файл, и если он существует, я хочу открыть его и прочитать 1-ю строку,

Если файл не существует или если файл не имеет содержимого, тоЯ хочу молча провалиться, не сообщая никому, что произошла ошибка.

Ответы [ 3 ]

61 голосов
/ 23 августа 2011

Начните с этого:

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

Взято из документации .

0 голосов
/ 14 февраля 2018

Для тех, кто ищет способ просмотра определенного файла, существующего в 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
0 голосов
/ 06 июня 2013

существующая папка потерпит неудачу с FileExists

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

используйте вместо или в дополнение:

Function FolderExists(strFolderPath)
' Check if a path exists
...