如何创建批处理文件的快捷方式并配置是否以最小化模式运行?当我创建批处理文件的快捷方式时,我必须手动将其配置为手动以最小化模式运行。任何想法我如何编写一个脚本来改变它以运行"最小化"模式
答案 0 :(得分:2)
如果我理解正确的话。您将需要使用VB脚本来创建快捷方式。我不相信批处理脚本可以创建快捷方式
参见示例2:WindowsStyle参数定义窗口大小。 oMyShortCut.WindowStyle = 7< - 7 =最小化。
祝你好运 平答案 1 :(得分:0)
shortcutjs.bat -linkfile tst6.lnk -target "%cd%\myscript.bat" -windowstyle 7 -adminpermissions yes
如果您想以管理员身份运行bat,则 -adminpermissions yes
是可选的。您需要完整的脚本路径。可能的模式为1
表示正常,3
表示最大化,7
表示最小化。
答案 2 :(得分:0)
@ npocmaka' s 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创建快捷方式所需的代码。
将上面的代码保存为shortcut.vbs后,您可以从cmd:cscript shortcut.vbs
运行VBS脚本
如果您想传递有关批处理文件位置的一些争论,请参阅此问题,Can I pass an argument to a VBScript (vbs file launched with cscript)?
然后,您还可以使用cscript shortcut.vbs "C:\test.cmd"
之类的代码,并重复使用相同的VBScript创建不同的快捷方式。
有关其他可用选项,例如在快捷方式中添加图标,添加热键支持,设置工作目录等,请参阅此link