【发布时间】:2018-06-30 12:26:22
【问题描述】:
我在那里的第 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
【问题讨论】:
-
这段代码还有很多需要改进的地方。
-
1. objShell 和 WshShell 是一回事。它不需要声明两次。 2. vbs不应该通过shell调用另一个vbs。只需从另一个 vbs 调用一个子。 3.源vbs在执行前不需要复制。如果要编写脚本以作用于特定文件夹,请将脚本的路径作为参数传递。
-
@RegisDesrosiers 只需从另一个 vbs 调用 sub。 VBScript 不支持。
-
由于括号,您的 Sub 实际上是一个函数。没有什么会调用您的子程序,因此它永远不会运行。你真的会编程吗?
-
@ACatInLove 您的 Sub 实际上是一个函数,因为括号。 嗯...没有。