单击时,我有一个运行此命令的快捷方式:cmd /c "full path to my batch file"
。当我使用它时,它会完成预期的操作,但在此过程中会弹出丑陋的控制台窗口。有没有办法让这个命令启动隐藏或至少最小化的窗口?
答案 0 :(得分:1)
这将创建一个单独的进程(无窗口),并且不会阻止父窗口,因此它可以继续您的主要工作:
start /b cmd /c "full path to my batch file"
答案 1 :(得分:1)
使用 AutoHotKey 文件。首先下载并安装AutoHotKey。
假设您有一个1.bat
您将创建一个C:\ 2.ahk,其内容为
Run C:\1.bat,,Hide
return
您将创建一个3.lnk,然后右键单击它,单击属性,然后将Target设置为
"C:\Program Files\AutoHotkey\AutoHotkey.exe" C:\2.ahk
然后您将得到想要的东西。
这样,您可以将3.lnk附加到任务栏或开始菜单,并更改其图标。
start方法只能在蝙蝠中使用,不能添加到任务栏或更改的图标中。
答案 2 :(得分:0)
创建一个VBScript文件作为shell来启动它。
' Launcher.vbs
If WScript.Arguments.Count = 0 Then
WScript.Quit 1
End If
Dim WSH
Set WSH = CreateObject("WScript.Shell")
WSH.Run "cmd /c " & WScript.Arguments(0), 0, False
您可能希望将其作为批处理文件中的Here Document嵌入。见heredoc for Windows batch?
答案 3 :(得分:0)
右键单击快捷方式图标,然后选择"属性。"
在"快捷方式"选项卡,选择"运行"从下拉菜单中输入您想要的内容。
START
命令有一个/ B开关,无需创建窗口即可启动。使用START /?
阅读所有相关信息。
答案 4 :(得分:0)
我找到了这个解决方案:
创建launch.vbs文件并添加
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) & "C:\Batch Files\syncfiles.bat" & Chr(34), 0
Set WshShell = Nothing
用绝对或相对路径文件名替换“ C:\ Batch Files \ syncfiles.bat”。
来源:https://www.winhelponline.com/blog/run-bat-files-invisibly-without-displaying-command-prompt/
源MSDN:https://msdn.microsoft.com/en-us/library/d5fk67ky(VS.85).aspx
答案 5 :(得分:0)
如果您仍在寻找答案,我最近发现了这些线程似乎都未提及的内容。我没有任何声誉,因此无法将其添加到其他主题中,因此我将其放在此处。
powershell "start <path of batch file> -Args \"<batch file args>\" -WindowStyle Hidden"
可以将其放置在单独的批处理文件中,该批处理文件在调用时将在后台执行时立即终止。
如果批处理文件没有参数,则可以排除从'Args'到'\“'。
'-v runAs'可以添加在引号之前,以管理员身份运行批处理文件。
答案 6 :(得分:-1)
使用开关start
添加/min
以在最小化窗口中启动命令:
start /min cmd /c "full path to my batch file"