使用“cmd / c”但隐藏控制台窗口

时间:2017-08-07 14:31:55

标签: cmd windows-console

单击时,我有一个运行此命令的快捷方式:cmd /c "full path to my batch file"。当我使用它时,它会完成预期的操作,但在此过程中会弹出丑陋的控制台窗口。有没有办法让这个命令启动隐藏或至少最小化的窗口?

7 个答案:

答案 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"