如果符合条件则启动程序

时间:2018-09-19 18:48:24

标签: vbscript

我想在我的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()

任何帮助都很好

1 个答案:

答案 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()