2016-12-04 66 views
-1

我正在做一個實驗,並且指令說要檢查文件是否存在。它建議使用布爾型Not來做到這一點。IF循環來檢查VBS中是否存在文件

這是我的代碼,但不管我做什麼,我都無法越過循環的結尾。我不斷收到錯誤信息,指出該文件不存在。

Const Read = 1, Write = 2, Append = 8, ASCII = 0 

FileName = "C:\users\gryphon\IP_Addresses.csv" 
ipAddrStr = "" 
NewRoom = 106 
Comp1_IP = "192.168.10.59" 
Comp2_IP = "192.168.10.60" 
Comp3_IP = "192.168.10.61" 
Comp4_IP = "192.168.10.61" 

Set fso = CreateObject("Scripting.FileSystemObject") 

ipAddrStr = CStr(NewRoom) & "1," & CStr(Comp1_IP) & CStr(NewRoom) & "2," & _ 
      CStr(Comp2_IP) & CStr(NewRoom) & "3," & CStr(Comp3_IP) & _ 
      CStr(NewRoom) & "4," & CStr(Comp4_IP) 

If Not fso.FileExists("FileName") Then 
    WScript.StdOut.WriteLine(Chr(7) & Chr(7)) 
    WScript.Echo "File Does Not Exist." & vbCrLf & _ 
    "You Must Create the File Before You can Read the File." 
    WScript.Quit 
End If 

我在做什麼錯,我該如何解決?這必須在04DEC2016在太平洋標準時間下午11點完成。上星期一我請教導師幫忙,我還在等着聽。

+1

卸下'「文件名」引號'你想刪除雙引號檢查變量FileName中字符串路徑的存在,而不是文字字符串FileName。所以行應該閱讀'If not so.FileExists(FileName)Then'。還有什麼關於*「循環結束」*?,在你的代碼中沒有循環。 – Lankymart

+0

如果你的老師目前還沒有解釋變量和字符串文字之間的區別,你應該找一個新的老師。 – Lankymart

回答

0

從fso.fileExists(「文件名」),因爲它走的是字符串文件名而不是文件名的變量的值的

If NOT fso.FileExists(FileName) Then 
WScript.StdOut.WriteLine(Chr(7) & chr(7)) 
WScript.Echo "File Does Not Exist." & vbcrlf & _ 
"You Must Create the File Before You can Read the File." 
WScript.Quit 
End If 
+0

這是一個簡單的錯字,可能這個問題將被關閉作爲題外話。 – Lankymart

+0

@Lankymart我的'密切,offtopic,錯字'國旗是有爭議的,所以也許不會。 –

+0

這是一個巨大的幫助,謝謝,是的,我正在找一位新教練。由於這是一個在線課程,幾乎一半的課程都失敗了,導師顯然認爲我們都是有經驗的腳本編寫人員和編碼人員。這是一個腳本類的INTRO顯然是重要的。我如何將此標記爲已關閉? – GryphonChanning