我有一个名为prova.bat
的批处理文件,我需要在计算机启动时启动它,我需要以隐藏模式启动它(没有可见的提示)。
我已经在网络解决方案中找到了在启动时启动批处理或解决方案以隐藏模式启动批处理,但没有解决方案来解决我的问题。我尝试过使用VBScript并将脚本设置为在启动时运行(在SystemConfiguration中)。
批处理必须运行的操作系统是Windows 8.1。
这是VBScript的内容(可能是它的错误):
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) & "C:\app\app\prova.bat" & Chr(34), 0
Set WshShell = Nothing
答案 0 :(得分:2)
这个Vbscript可以解决这个问题(在Windows 7 32位上测试)
希望将适用于 Windows 8 ;)
因此代码非常易于使用:您只需更改两件事:
<强> PathApplication 强>
<强> ShortcutName 强>
Option Explicit
Dim PathApplication,ShortcutName,VbsPath
VbsPath = Wscript.ScriptFullName
PathApplication = "C:\signcatcher\signcatcher\prova.bat"
ShortcutName = "Hackoo"
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
'*********************************************************************************
答案 1 :(得分:0)
最简单的方法是使用启动文件夹 - %appdata%\Microsoft\Windows\Start Menu\Programs\Startup
。您可以选择一种方法以隐藏/后台模式启动批处理。可能最好的选择是win32process,因为它提供了很多选项。只需在启动文件夹中放入一个脚本,如:
@call "c:\tools\win32process.bat" "C:\signcatcher\signcatcher\prova.bat" -showWindows 0 -directory "C:\signcatcher\signcatcher"
您必须将实际路径更改为win32process.bat