Windows 7 启动批处理文件隐藏

Windows 7 启动批处理文件隐藏

我按照指南创建了一个批处理文件,这样我就可以将程序的启动延迟几秒钟。(我不想使用第三方工具)

问题是,在启动该程序之前,我不想在 X 秒内看到该 cmd 窗口。有什么想法吗?

这是我在 .bat 文件中使用的代码:

@ECHO OFF
TIMEOUT /t 3 > nul
START "" "C:\program.exe"

答案1

这个 Visual Basic 脚本可以做 3 件事。

~ 获取存储的当前目录.VBS并获取文件名。
~ 使用管理员权限运行给定的文件。(不提示 UAC)
~ 静默运行文件,无需您提到的 CMD。

bElevate = False
if WScript.Arguments.Count > 0 Then If WScript.Arguments(WScript.Arguments.Count-1) <> "|" then bElevate = True
if bElevate Or WScript.Arguments.Count = 0 Then ElevateUAC
REM run the following script with admin privilages. start point.

Set fso = CreateObject("Scripting.FileSystemObject")
GetTheParent = fso.GetParentFolderName(Wscript.ScriptFullName)

Set WshShell = WScript.CreateObject ("WScript.Shell")
WshShell.Run GetTheParent & ("\CUSTOMNAMEOFBAT.bat") 
WScript.Sleep 500

REM the above script will be run with admin privilages. end point.
Sub ElevateUAC
    sParms = " |"
    If WScript.Arguments.Count > 0 Then
            For i = WScript.Arguments.Count-1 To 0 Step -1
            sParms = " " & WScript.Arguments(i) & sParms
        Next
    End If
    Set oShell = CreateObject("Shell.Application")
    oShell.ShellExecute "wscript.exe", WScript.ScriptFullName & sParms, , "runas", 1
    WScript.Quit
End Sub

复制/粘贴以下代码并另存为.VBS。将 .vbs脚本放在与您的 相同的目录中.bat,并将“CUSTOMNAMEOFBAT”(第 11 行末尾)更改为您的.bat.

相关内容