回答
您可以使用exit关键字。这是从我的批处理文件中的一个例子:
start myProgram.exe param1
exit
看START命令,你可以这样做:
START rest-of-your-program-name
例如,该批处理文件将等到记事本退出:
@echo off
notepad c:\test.txt
然而,这并不:
@echo off
start notepad c:\test.txt
你应该试试这个。它没有窗口启动程序。它实际上闪烁了一秒钟,但相当快地消失。
start "name" /B myprogram.exe param1
``title'`选项很重要。如果程序的路径包含空格,则必须用引号括起来,因此我们必须添加`“title”`来避免失败。 – 2013-01-12 13:50:56
从我own question:
start /b myProgram.exe params...
的作品,如果你开始从现有DOS会话程序。
如果不是,则调用VB脚本
wscript.exe invis.vbs myProgram.exe %*
的Windows Script Host Run() method需要:
- intWindowStyle:0表示 “无形窗口”
- bWaitOnReturn:虚假意味着您的第一个脚本不需要等待你的第二个脚本完成
这里是invi s.vbs:
set args = WScript.Arguments
num = args.Count
if num = 0 then
WScript.Echo "Usage: [CScript | WScript] invis.vbs aScript.bat <some script arguments>"
WScript.Quit 1
end if
sargs = ""
if num > 1 then
sargs = " "
for k = 1 to num - 1
anArg = args.Item(k)
sargs = sargs & anArg & " "
next
end if
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run """" & WScript.Arguments(0) & """" & sargs, 0, False
+1有一个更简单的方法,但这是唯一对我有效的答案。 – 2012-03-06 18:49:20
我的解决办法从GUI做:
创建一个快捷方式,你要运行的程序;
编辑快捷键的属性;
将
TARGET
字段更改为%COMSPEC% /C "START "" "PROGRAMNAME""
;将
RUN
字段更改为最小化。
准备就绪!看看你喜欢它...PS:可以在两个最终引号之间插入程序参数; PROGRAMNAME
字符串可以是文件名,相对路径或绝对路径 - 如果您放入绝对路径并擦除驱动器号和分号,则无论主机分配给它什么字母,这都可以在拇指驱动器中工作。 ..(另外,如果将快捷方式放在同一个文件夹中,并在PROGRAMNAME
前加上%CD%
变量,路径将始终匹配;同样的技巧可用于START IN
字段中)。
这是唯一为我工作,当我试图从一个批处理文件运行一个Java类的东西:
start "cmdWindowTitle" /B "javaw" -cp . testprojectpak.MainForm
您可以自定义start
命令,只要你想为你的项目,按照正确的语法:
Syntax
START "title" [/Dpath] [options] "command" [parameters]
Key:
title : Text for the CMD window title bar (required)
path : Starting directory
command : The command, batch file or executable program to run
parameters : The parameters passed to the command
Options:
/MIN : Minimized
/MAX : Maximized
/WAIT : Start application and wait for it to terminate
/LOW : Use IDLE priority class
/NORMAL : Use NORMAL priority class
/HIGH : Use HIGH priority class
/REALTIME : Use REALTIME priority class
/B : Start application without creating a new window. In this case
^C will be ignored - leaving ^Break as the only way to
interrupt the application
/I : Ignore any changes to the current environment.
Options for 16-bit WINDOWS programs only
/SEPARATE Start in separate memory space (more robust)
/SHARED Start in shared memory space (default)
使用start命令可防止批处理文件等待程序。只需记住在“开始”之后在您想要运行的程序前放置一个空的双引号。 例如,如果你想从运行一个批处理命令的Visual Studio 2012:
Start "" "C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe"
通知开始后双引号。
如果此批处理文件是您想要按计划或始终运行的;您可以使用Windows日程安排工具,并且它在启动批处理文件时不会在窗口中打开。
要打开Task Scheduler
:
- 开始 - >运行/搜索 - >
'cmd'
- 类型
taskschd.msc
- >进入
从右侧,单击Create Basic Task
然后按照菜单。
希望这会有所帮助。
如何解决“空间的问题”和本地依赖性:
@echo off
cd "C:\Program Files\HeidiSQL"
start heidisql.exe
cd "C:\Program Files (x86)\Google\Chrome\Application"
start chrome.exe
exit
这里是我的首选解决方案。它是从一个answer采取类似的问题。
使用VBS脚本调用批处理文件:
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) & "C:\path\to\your\batchfile.bat" & Chr(34), 0
Set WshShell = Nothing
复制上面的线的编辑和保存.VBS扩展名的文件。
我是有这个问题,并为我下面的工作:
run myprogram.exe param1
- 1. 从批处理文件开始在后台启动程序
- 2. 在没有控制台的情况下运行minGW控制台程序
- 3. 从批处理文件启动多个控制台应用程序
- 4. 批处理文件:如何离开控制台窗口打开
- 5. 如何在不显示Win32 GUI程序的控制台窗口的情况下执行子控制台程序?
- 6. 如何在程序启动之前执行批处理文件?
- 7. 在批处理文件我的控制台应用程序
- 8. 批处理或VBS:运行控制台程序
- 9. 使用批处理文件启动java程序时隐藏控制台窗口?
- 10. 如何在不等待批处理文件的情况下启动应用程序?
- 11. 批处理文件完成后,批处理文件在“任务计划程序”下运行,并继续运行
- 12. 当Windows启动时在后台运行批处理文件
- 13. 使用批处理文件来运行多个控制台应用程序
- 14. 从批处理文件(cmd)控制交互式控制台程序
- 15. 在后台运行批处理文件
- 16. 使用批处理文件控制台应用程序设置
- 17. 如何使重启系统后启动任何程序的批处理文件?
- 18. 从控制台运行时自动启动Play2应用程序
- 19. 如何在不离开Objective-C中的应用程序的情况下启动地图应用程序?
- 20. 如何通过批处理脚本运行程序来启动wav文件
- 21. 在关闭父批处理文件后在后台运行服务(在批处理文件中启动)
- 22. 如何从控制台应用程序运行程序?
- 23. 如何在无需移动批处理文件的情况下
- 24. 在没有控制台窗口的情况下运行OpenCV应用程序
- 25. 批处理文件 - 每20分钟后重新启动程序
- 26. 只有在事件处理程序尚不存在的情况下,如何绑定事件处理程序?
- 27. 如何在后台运行.NET控制台应用程序
- 28. 如何在后台运行控制台应用程序(无UI)?
- 29. 如何在不打开GUI的情况下在控制台中启动apache tika?
- 30. 从批处理文件作为管理员运行程序
注意这一点,如果您正在使用批处理文件控制台交互,而不是仅仅双击将没有好东西。通常几乎没有必要将`exit`放入批处理文件中。 – Joey 2011-04-19 07:34:36
我在Win8中试过这个命令。我不确定它是否不同,但请注意,您必须为其提供一个Window标题作为第一个参数。当我按照Patrick描述的方式运行它时,它只会打开一个带有“myProgram.exe”作为窗口标题的新命令提示符:“start”VPN“”C:\ Program Files(x86)\ Cisco \ Cisco AnyConnect安全移动Client \ vpnui.exe“` – 2013-05-01 06:39:30
请注意,如果您的命令包含空格并将其放入引号中,则必须在其之前添加一个额外的带引号的参数,因为START会将第一个带引号的参数解释为窗口名称,而只将下面的第二个参数作为命令名称。 – 2017-04-12 14:51:28