我想在我的PC上创建一个权限级别的系统,所以我想要一个vbs程序来检查文件是否存在,如果可以,则启动一个程序,但是它说错误行5 char 1 object required“,但是当我这样做时预期陈述
Option Explicit
DIM fso
Dim objShell
Set objShell = WScript.CreateObject( "WScript.Shell" )
If fso.FileExists("C:\code\login\authlevel\2.txt") or
fso.FileExists("C:\code\login\authlevel\3.txt") or
fso.FileExists("C:\code\login\authlevel\4.txt") Then
objShell.Run("""C:\Program Files
(x86)\Google\Chrome\Application\chrome.exe""")
Set objShell = Nothing
WScript.Quit()
Else
WScript.Echo("incorrect autority")
End If
WScript.Quit()
任何帮助都很好
答案 0 :(得分:1)
首先,您没有将fso
设置为任何值,但是您尝试将其用作文件系统对象,因此需要set
引用,如下所述。
您还似乎在OR
语句中将代码分成多行。如果要这样做(通常出于可读性目的),则需要使用下划线字符告诉vbscript
下一行是代码的延续,而不是像这样的新代码行:
Option Explicit
DIM fso
set fso = CreateObject("Scripting.FileSystemObject")
Dim objShell
Set objShell = WScript.CreateObject( "WScript.Shell" )
If fso.FileExists("C:\code\login\authlevel\2.txt") or _
fso.FileExists("C:\code\login\authlevel\3.txt") or _
fso.FileExists("C:\code\login\authlevel\4.txt") Then
objShell.Run("""C:\Program Files
(x86)\Google\Chrome\Application\chrome.exe""")
Set objShell = Nothing
WScript.Quit()
Else
WScript.Echo("incorrect authority")
End If
WScript.Quit()