2011-08-23 39 views
30

Tôi muốn kiểm tra xem tệp có tồn tại không và nếu có, tôi muốn mở tệp và đọc dòng đầu tiên,Tôi làm cách nào để kiểm tra xem tệp có tồn tại không?

Nếu tệp không tồn tại hoặc nếu tệp không có nội dung thì tôi muốn không âm thầm mà không để cho bất cứ ai biết rằng đã xảy ra lỗi.

+2

Bạn đã tìm kiếm 'tệp vbscript tồn tại' ở bất kỳ đâu? – Fionnuala

+0

@ Fionnuala nhưng đây * là * kết quả đầu tiên từ google: D;) – gordatron

Trả lời

57

Bắt đầu với điều này:

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

Taken từ documentation.

-3

một thư mục hiện sẽ thất bại với FileExists

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

sử dụng thay hoặc bổ sung:

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

Câu trả lời này không trả lời được câu hỏi. Nó cũng không tuân thủ các nguyên tắc định dạng. –

+0

Trả lời không cung cấp bất kỳ mã hoạt động nào –

0

Đối với những ai đang tìm kiếm một cách để xem một tập tin cụ thể để tồn tại trong 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 

Cách sử dụng:

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 
Các vấn đề liên quan