VBS脚本运行批处理文件,不在启动时运行[重复]

Posted

技术标签:

【中文标题】VBS脚本运行批处理文件,不在启动时运行[重复]【英文标题】:VBS script to run a batch file, not running at start-up [duplicate] 【发布时间】:2020-11-17 07:23:07 【问题描述】:

我已经通过单击运行它并以管理员身份运行,它可以正常工作。

当我把它放在一个快捷方式中,配置为以管理员身份运行时,它不会在启动时启动。

这是我的 VBS 脚本:

Set objshell = wscript.createobject("wscript.shell")
objshell.run("C:\ERPSystem\znc\backup\bat\callbackupdb.bat"),0, true

我认为它具有操作系统中的权限,因为它在其他计算机上正常工作。

【问题讨论】:

你怎么知道的?它是不可见的。 这能回答你的问题吗? How can I auto-elevate my batch file, so that it requests from UAC administrator rights if required? 【参考方案1】:

你可以试试这样的 vbscript :

Option Explicit
Dim PathApplication,ShortcutName,VbsPath
VbsPath = Wscript.ScriptFullName
PathApplication = "C:\ERPSystem\znc\backup\bat\callbackupdb.bat"
ShortcutName = "Backupdb"
Call Shortcut(VbsPath,ShortcutName)
Call Hidden_Run(Dblquote(PathApplication))
'----------------------------------------------------------------------------------------
Sub Shortcut(PathApplication,ShortcutName)
    Dim objShell,StartFolder,objShortCut,MyTab
    Set objShell = CreateObject("WScript.Shell")
    MyTab = Split(PathApplication,"\")
    If ShortcutName = "" Then
        ShortcutName = MyTab(UBound(MyTab))
    End if
    StartFolder = objShell.SpecialFolders("Startup")
    Set objShortCut = objShell.CreateShortcut(StartFolder & "\" & ShortcutName & ".lnk")
    objShortCut.TargetPath = Dblquote(PathApplication)
    ObjShortCut.IconLocation = "%SystemRoot%\system32\SHELL32.dll,-25"
    objShortCut.Save
End Sub
'----------------------------------------------------------------------------------------
Function DblQuote(Str)
    DblQuote = Chr(34) & Str & Chr(34)
End Function
'----------------------------------------------------------------------------------------
Function Hidden_Run(MyProgram)
    Dim ws,Result
    Set ws = CreateObject("wscript.Shell")
    Result = ws.run(MyProgram,0,True) '0 to hide the program
    Hidden_Run = Result
End Function
'----------------------------------------------------------------------------------------

【讨论】:

【参考方案2】:

如果它在其他计算机上正常工作那么问题出在你的操作系统你可以尝试通过将文件放在同一目录中或以管理员身份运行脚本我已经尝试过你的脚本它在我的笔记本电脑上运行良好(只是更改了批处理文件)

【讨论】:

以上是关于VBS脚本运行批处理文件,不在启动时运行[重复]的主要内容,如果未能解决你的问题,请参考以下文章

WIN7 64位系统任务计划程序里运行VBS脚本 报错,脚本本身没问题!请问怎么解决?

如何最小化运行批处理文件

调用 vbs 的批处理文件不会从任务调度程序运行

如何让VBS文件 自动开机就运行

如何将多个变量从 VBS 传递到批处理脚本?

c语言怎么启动vbs脚本不弹出黑窗口呢,跪谢?