首页 > 解决方案 > 用于运行批处理文件的 VBS 脚本,而不是在启动时运行

问题描述

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

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

这是我的 VBS 脚本:

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

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

标签: batch-filevbscriptwindows-10

解决方案


你可以尝试这样的 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
'----------------------------------------------------------------------------------------

推荐阅读