2011-08-23 34 views
30

Quiero comprobar si existe un archivo y si lo hace, quiero abrirlo y leer la 1ª línea,¿cómo puedo verificar si existe un archivo?

Si el archivo no existe o si el archivo no tiene contenido, entonces quiero fallar silenciosamente sin que nadie sepa que ocurrió un error.

+2

¿Ha buscado 'vbscript file exists' en cualquier lugar? – Fionnuala

+0

@Fionnuala pero este * es * el primer resultado de google: D;) – gordatron

Respuesta

57

de inicio con esto:

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

Tomado del documentation.

-3

una carpeta existente fallará con FileExists

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

uso en lugar o además:

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

Esta respuesta no responde la pregunta. Tampoco sigue las pautas de formato. –

+0

La respuesta no proporciona ningún código de funcionamiento –

0

Para cualquiera que esté buscando una manera de ver un archivo específico de existir en 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 

Uso:

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 
Cuestiones relacionadas