1

我正在编写一个允许选择的批处理文件。

这是我遇到的问题...

如果我选择在单独的窗口中启动 Internet Explorer 的选项(Explorer /separate),我无法与我的批处理文件交互并选择其他选项,直到我启动的 IE 窗口关闭。

我希望能够与我的菜单进行交互,启动应用程序,并在我想要的任何时候进行特殊选择......我不想为了再次与我的批处理文件交互而关闭我刚刚启动的应用程序。

我正在使用这个批处理文件来访问我创建的不同菜单,以便在不同时间完成一系列任务,同时支持我的用户(在大型 IT 服务台)。

例子:

:MENUS1
CLS

ECHO ============= MENU NAME =============
ECHO -------------------------------------
ECHO 1.  Explorer Separate S1
ECHO 2.  Control Panel S2
ECHO 3.  Network Connections S3
ECHO 4.  Add/Remove Programs S4
ECHO 5.  Internet Options S5
ECHO 6.  Java Control Panel S6
ECHO 7.  More Options S7
ECHO -------------------------------------
ECHO 8.  Selection S8
ECHO -------------------------------------
ECHO 9.  Selection S9
ECHO -------------------------------------
ECHO ==========PRESS 'Q' TO QUIT==========
ECHO ======PRESS 'MM' FOR MAIN MENU=======
ECHO.

SET INPUT=
SET /P INPUT=Please select a number:

IF /I '%INPUT%'=='S1' GOTO SelectionS1
IF /I '%INPUT%'=='S2' GOTO SelectionS2
IF /I '%INPUT%'=='S3' GOTO SelectionS3
IF /I '%INPUT%'=='S4' GOTO SelectionS4
IF /I '%INPUT%'=='S5' GOTO SelectionS5
IF /I '%INPUT%'=='S6' GOTO SelectionS6
IF /I '%INPUT%'=='S7' GOTO SelectionS7
IF /I '%INPUT%'=='S8' GOTO SelectionS8
IF /I '%INPUT%'=='S9' GOTO SelectionS9
IF /I '%INPUT%'=='Q' GOTO Quit
IF /I '%INPUT%'=='MM' GOTO MENU

CLS

ECHO ============INVALID INPUT============
ECHO -------------------------------------
ECHO Please select a number from the 
ECHO Shortcut Menu [S1-S9] or select 'MM'
echo for Main Menu or 'Q' to quit.
ECHO -------------------------------------
ECHO ======PRESS ANY KEY TO CONTINUE======

PAUSE > NUL
GOTO MENU

REM System Shortcuts Option 1 S1

:SelectionS1
Explorer /separate
GOTO MENUS1

:SelectionS2
panel
GOTO MENUS1

:SelectionS3
ncpa.cpl
GOTO MENUS1

:SelectionS4
appwiz.cpl
GOTO MENUS1

:SelectionS5
inetcpl.cpl
GOTO MENUS1

:SelectionS6
jpicpl32.cpl
GOTO MENUS1

因此,如果我选择 Option #1 - Explorer Separate S1 它会执行命令 explorer /separate 并启动一个新的资源管理器窗口,但如果我还想选择 Option #2 - Control Panel S2 打开控制面板...我可以'在我关闭批处理打开的资源管理器窗口之前不要这样做。旁注,我必须在每个命令之后添加'GOTO MENUS1',因为1)在我这样做之前 - 所有命令都试图一个接一个地启动,2)我想重定向回菜单......

关于如何将其修复到可以与批处理文件交互而不必关闭通过批处理打开的应用程序的任何想法?

4

1 回答 1

1

如果您希望在启动的程序终止之前将控制权返回给批处理文件,那么您必须使用start ProgramName Options. 例如:

:SelectionS1
start Explorer /separate
GOTO MENUS1

/separate参数告诉 Windows 启动一个新的资源管理器实例,这与使用start Explorer.

于 2013-02-07T00:11:51.847 回答