我有一个用来启动程序的批处理脚本,比如notepad.exe
。当我双击这个批处理文件时,记事本正常启动,但启动notepad.exe
的cmd
的黑色窗口仍然保留在后台。我必须做什么才能启动notepad.exe
并使cmd窗口消失?
编辑:比使用\I
更复杂。
cmd
调用cygwin
,cygwin
启动notepad
。我使用
start \I \path\cygwin\bin\bash.exe
并且第一窗口(cmd)消失,但是第二窗口(\cygwin\bin\bash.exe)仍然在背景上。在cygwin脚本中,我使用了notepad.exe &
,然后使用exit。
发布于 2012-10-12 04:50:23
start "" "%SystemRoot%\Notepad.exe"
将""
放在start和应用程序路径之间。
补充说明:
通常,当我们从像下面这样的批处理文件启动一个程序时,我们会像OP所说的那样在后台看到黑色的窗口。
%SystemRoot%\Notepad.exe
这是由于记事本在同一命令提示符(进程)中运行造成的。关闭记事本后,命令提示符将关闭。为了避免这种情况,我们可以使用start
命令启动一个单独的进程,如下所示。
start %SystemRoot%\Notepad.exe
只要路径中没有空格,这个命令就没问题。为了处理路径中的空格以防万一,我们像这样添加了"
引号。
start "%SystemRoot%\Notepad.exe"
但是,运行此命令只会启动另一个空白命令提示符。为什么?如果查找start /?
,start
命令会将"
之间的参数识别为将要启动的新命令提示符的标题。所以,为了解决这个问题,我们有这样的命令:
start "" "%SystemRoot%\Notepad.exe"
""
的第一个参数是设置标题(我们将其设置为空),"%SystemRoot%\Notepad.exe"
的第二个参数是要运行的目标命令(支持路径中的空格)。
如果需要在命令中添加参数,只需添加引号即可,即:
start "" "%SystemRoot%\Notepad.exe" "<filename>"
发布于 2011-05-06 16:54:03
使用start notepad.exe
。
更多关于start /?
的信息。
发布于 2014-07-04 17:48:05
https://stackoverflow.com/questions/5909012
复制相似问题