2015-06-05 116 views
1

我有一個批處理文件,名爲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

檢查這一點 - http://stackoverflow.com/questions/28284876/what-are-the-different-ways-to-start-a-hidden-處理與批處理文件和什麼,一個在windos 8 *啓動文件夾 – npocmaka

+0

位於'%appdata%\微軟\的Windows \開始菜單\程序\啓動' – npocmaka

+0

VBScript應該做你想做的,所以你的問題很可能與您配置自動啓動的方式有關。在「系統配置」中,您是否將其配置爲「在啓動時運行」(啓動了什麼?)? –

回答

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 
'********************************************************************************* 
+0

嗨!謝謝你的答案,我已經做了一個快捷方式,並將其放入啓動文件夾,我必須把該文件夾甚至這個VBScript?或者我必須放入另一個文件夾(我的問題中的VBScript很短,我已將它放入系統寄存器中) – Luca89

+0

@ Luca89您是否嘗試過下面這個vbscript或者還沒有?因爲我使它非常容易使用,只需更改批處理的路徑和(快捷方式的名稱是可選的),並且vbscript可以完成其餘的操作 – Hackoo

+0

我試圖手動運行vbscript並啓動我的java應用程序。 我需要應用程序在電腦啓動時啓動,我必須將vbscript放入Windows 8.1的啓動文件夾中? – Luca89

0

最簡單的方法是使用啓動文件夾 - %appdata%\Microsoft\Windows\Start Menu\Programs\Startup。您可以選擇的方法來啓動一批隱藏/背景mode.Probably最好的選擇是win32process,因爲它提供了很多options.So的只是把一個腳本啓動了文件夾中的腳本,如:

@call "c:\tools\win32process.bat" "C:\signcatcher\signcatcher\prova.bat" -showWindows 0 -directory "C:\signcatcher\signcatcher" 

,你必須改變的實際路徑win32process.bat

+0

嗨!謝謝你的答案,我已經嘗試了這種解決方案蝙蝠在電腦上沒有win32process.bat(或者我無法找到它) – Luca89

+0

@ Luca89 - 你需要從鏈接下載它。 – npocmaka