我正忙着尝试使用批处理文件在Windows 10上自动执行一些手动启动任务。但我面临一个奇怪的问题。
我想创建一个批处理脚本,它将使用一些参数启动 Xming 。所以我想我可以把它放在批处理文件中。
"C:\Program Files (x86)\Xming\Xming.exe" :0 -clipboard -multiwindow
如果我在打开的命令窗口中执行此操作,它将按顺序多次正常工作,而不会启动超过1个 Xming 的实例。但是,一旦我将这一行放入一个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
答案 0 :(得分:0)
我建议使用命令 START ,例如Compo,在单独的进程中明确启动此应用程序。
start "Xming" /D"%ProgramFiles(x86)%\Xming" "%ProgramFiles(x86)%\Xming\Xming.exe" :0 -clipboard -multiwindow
Windows命令解释程序执行命令 START 后立即继续执行批处理文件中的下一行,而 Xming 在与执行命令进程并行运行的单独进程中执行批处理文件。
START 的第一个参数是可选标题,如果任何其他参数必须用双引号括起来,则需要指定该标题,否则此双引号参数将被解释为窗口标题。
以/D
开头的第二个参数定义了应用程序运行的目录(当前目录)中的开头。这里指定 Xming 的当前目录是其程序文件目录。这可能很重要,因为某些应用程序编码不好,如果启动它的进程的当前目录不是应用程序的程序文件目录,则无法正常工作。
所有其他参数都是使用其参数运行的应用程序。
在命令提示符窗口start /?
中运行以获取此命令的帮助,以解释它及其选项。