为什么执行应用程序时批处理文件有时会挂起?
问题描述:
我目前正在尝试使用批处理文件在Windows 10上自动执行一些手动启动任务。但我正面临一个奇怪的问题。为什么执行应用程序时批处理文件有时会挂起?
我想制作一个批处理脚本,它将使用一些参数启动Xming。所以我想我可以把它放在批处理文件中。
"C:\Program Files (x86)\Xming\Xming.exe" :0 -clipboard -multiwindow
如果我在打开命令行窗口执行这一点,将依次罚款甚至多次工作,而无需启动Xming的的超过1个实例。但是,一旦我只将这一行放入bat文件并执行该脚本,它有时会起作用,有时会永久挂起。
我一直在谷歌搜索一段时间,我找不到任何描述我遇到的问题。任何帮助表示赞赏。
这里是一个命令提示符的说明我的问题输出:
C:\Users\JS>"C:\Program Files (x86)\Xming\Xming.exe" :0 -clipboard -multiwindow
C:\Users\JS>"C:\Program Files (x86)\Xming\Xming.exe" :0 -clipboard -multiwindow
C:\Users\JS>"C:\Program Files (x86)\Xming\Xming.exe" :0 -clipboard -multiwindow
...
C:\Users\JS>"C:\Program Files (x86)\Xming\Xming.exe" :0 -clipboard -multiwindow
C:\Users\JS>"C:\Program Files (x86)\Xming\Xming.exe" :0 -clipboard -multiwindow
C:\Users\JS>
C:\Users\JS>cd desktop
C:\Users\JS\Desktop>startup.bat
C:\Users\JS\Desktop>"C:\Program Files (x86)\Xming\Xming.exe" :0 -clipboard -multiwindow
... Hangs forever here
哪里的startup.bat只包含1号线:
"C:\Program Files (x86)\Xming\Xming.exe" :0 -clipboard -multiwindow
答
我建议也使用命令START像Compo在单独的过程中明确启动此应用程序。
start "Xming" /D"%ProgramFiles(x86)%\Xming" "%ProgramFiles(x86)%\Xming\Xming.exe" :0 -clipboard -multiwindow
Windows命令解释程序之后执行该命令START它而的Xming在平行分离的处理被执行来命令执行批处理文件过程立即继续执行在批处理文件中的下一行。
的第一个参数START是需要指定的可选标题,如果任何其他参数必须用双引号引起来,否则这个双引号参数将被解释为窗口标题。
以/D
开头的第二个参数定义应用程序运行的目录(当前目录)中的开始位置。这里指定当前目录为Xming是它的程序文件目录。这可能很重要,因为某些应用程序编码不好,如果启动进程的当前目录不是该应用程序的程序文件目录,则该应用程序无法正常工作。
所有其他参数都是使用其参数运行的应用程序。
在命令提示符窗口start /?
中运行,以获取输出帮助解释该命令及其选项的命令。
“开始”命令是否可以帮助您? '@Start“”“%ProgramFiles(x86)%\ Xming \ Xming.exe”:0 -clipboard -multiwindow',如果不是那么你可能需要运行'Cmd.exe',并在命令末尾插入命令。 – Compo