2017-05-04 97 views
0

如何創建批處理文件的快捷方式並配置是否以最小化模式運行?當我創建一個批處理文件的快捷方式時,我必須手動將其配置爲以最小化模式手動運行。任何想法如何編寫一個腳本,將其更改爲以「最小化」模式運行啓動窗口快捷方式自動以最小化模式運行

+1

這可能會幫助你其他可用選項:https://stackoverflow.com/questions/9232308/how -do -i-minimize-the-command-prompt-from-my-bat-file –

+0

我檢查了一下,但我的要求是以最小化模式啓動我的批處理文件,無需:1.右鍵單擊您的快捷方式2 。選擇屬性。 3.在運行下,您可以選擇最小化,最大化或正常窗口。 4.單擊確定。 – Srini

+0

恕我直言,這是不可能使用批處理腳本。您必須在快捷方式中手動更改它。或者使用另一個問題的其他方法。那些只會顯示1秒鐘的窗口,然後會最小化。 –

回答

0

@ npocmaka的shortcutjs.bat是一個完整的解決方案,但它有大約200行。所以,我爲此目的創建了一個小的VBScript。你需要根據你的目的修改它。

'======PART 1: elivate to admin. required to save the batch file from part 2 in C drive 
If Not WScript.Arguments.Named.Exists("elevate") Then 
    CreateObject("Shell.Application").ShellExecute WScript.FullName _ 
    , WScript.ScriptFullName & " /elevate", "", "runas", 1 
    WScript.Quit 
End If 

'======PART 2: create the test batch file on the fly 
Set objFSO=CreateObject("Scripting.FileSystemObject") 
outFile = "c:\test.cmd" 
Set objFile = objFSO.CreateTextFile(outFile,True) 
objFile.Write "pause" & vbCrLf 
objFile.Close 

'=======PART 3: create the shortcut of the batch file 
set WshShell = CreateObject("Wscript.shell") 
strDesktop = WshShell.SpecialFolders("Desktop") 
set oMyShortcut = WshShell.CreateShortcut(strDesktop + "\test.lnk") 
oMyShortcut.WindowStyle = 7 
OMyShortcut.TargetPath = "c:\test.cmd" 
oMyShortCut.Save 

第1和2是可選的,他們只是給做什麼,如果你也想動態創建批處理文件的想法。第3部分是使用VBS創建快捷方式所需的代碼。

您可以從CMD VBS腳本:cscript shortcut.vbs你上面的代碼保存爲shortcut.vbs

如果你想傳遞一些參數有關批處理文件的位置,看到了這個問題,Can I pass an argument to a VBScript (vbs file launched with cscript)? 那麼你也可以後使用您的代碼,如cscript shortcut.vbs "C:\test.cmd",並重復使用相同的VBScript來創建不同的快捷方式。

對於像添加一個圖標,你的快捷方式,增加熱鍵支持,設置工作目錄等,請參閱本link

+1

我最終使用了腳本的第3部分,並將其與自動化腳本集成在一起。謝謝!這個解決方案對我更好 – Srini

0

嘗試用shortcutjs.bat:如果你想運行蝙蝠管理員

shortcutjs.bat -linkfile tst6.lnk -target "%cd%\myscript.bat" -windowstyle 7 -adminpermissions yes 

-adminpermissions yes是可選的。您需要腳本的完整路徑。可能的模式爲1爲正常,3爲最大化和7爲最小化。

+1

這有助於謝謝你! – Srini