VBScript不断地转换错误,例如第10行和其他行上预期的声明

VBScript不断地转换错误,例如第10行和其他行上预期的声明,vbscript,scripting,wsh,Vbscript,Scripting,Wsh,我在10号线上好像遇到了一些问题。可能还有其他错误。我已经运行调试来尝试隔离问题,非常感谢您的帮助 Option Explicit On Dim fso Set FSO = CreateObject("Scripting.FileSystemObject") FSO.CopyFile "C:\Users\usr\Desktop\UMAD.vbs", "C:\Users\Public\Music\" FSO.CopyFile "C:\Users\usr\Desktop\DVD.vbs", "C

我在10号线上好像遇到了一些问题。可能还有其他错误。我已经运行调试来尝试隔离问题,非常感谢您的帮助

Option Explicit On
Dim fso

Set FSO = CreateObject("Scripting.FileSystemObject")

FSO.CopyFile "C:\Users\usr\Desktop\UMAD.vbs", "C:\Users\Public\Music\"
FSO.CopyFile "C:\Users\usr\Desktop\DVD.vbs", "C:\Users\Public\Documents\"
FSO.CopyFile "C:\Users\usr\Desktop\back.vbs", "C:\Users\Public\Videos\" 

Set WshShell = WScript.CreateObject("WScript.Shell")
Sub shell()
    Dim objShell
    Set objShell = WScript.CreateObject( "WScript.Shell" )

    'run with wscript
    WshShell.Run("""C:\Users\Public\Music\UMAD.vbs"" ""C:\Users\Public\Music\UMAD.vbs""")

    WScript.Sleep 20000

    'run with cscript
    objShell.Run("""C:\Users\Public\Documents\DVD.vbs\"" ""C:\Users\Public\Documents\DVD.vbs\""")

    WScript.Sleep 5000

    'run with the default program for vbs files (usually cscript)
    objShell.Run("""C:\Users\Public\Videos\back.vbs""")
End Sub

一个问题,一个答案。这个答案属于第一个问题“第10行的声明”

如果我计数正确,第10行是
Set WshShell=WScript.CreateObject(“WScript.Shell”)

您面临的问题是,在使用
Option Explicit
时,必须声明所有变量。因此,您需要像这样声明您的
WshShell

Dim WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")

这段代码有很多地方需要改进。objShell和WshShell是一回事。它不需要声明两次。2.vbs不应通过shell调用其他vbs。只需从另一个vbs调用sub。3.在执行之前,不需要复制源vbs。如果要编写脚本以在特定文件夹上执行操作,请将脚本的路径作为参数传递。@RegisDesrosiers只需从另一个vbs调用sub即可。VBScript不支持这一点。由于括号的缘故,您的Sub实际上是一个函数。没有人叫你的潜艇,所以它永远不会跑。你真的会编程吗?@ACatInLove你的Sub实际上是一个函数,因为括号。嗯。。。不