2017-05-04 176 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

相关问题