用set命令应该可以满足你的要求:
@Echo Off
Echo 真的要停止服务吗?
:again
set /p yn=按'Y'键停止服务.... 按'N'键取消:
if %yn%==y goto cont
if %yn%==Y goto cont
if %yn%==n goto end
if %yn%==N goto end
echo "输入错误,请重新输入!"
goto again
:cont
net stop 辅助服务
net stop 数据服务
:end
不用修改代码按CTRL +C就停止了
@echo off
echo.
call D:\jboss-4.2.2\jboss-4.2.2\bin\shutdown.bat -S
echo.
echo ****************************
echo.
setlocal enableextensions
echo.
echo.
echo WScript.Sleep 1000 > %temp%.\tmp$$$.vbs
set /a i =10
:Timeout
if %i% == 0 goto Next
setlocal
set /a i = %i% - 1
echo %i% 秒后自动执行余下命令。。。
cscript //nologo %temp%.\tmp$$$.vbs
goto Timeout
goto End
:Next
cls & echo.
echo.
for %%f in (%temp%.\tmp$$$.vbs*) do del %%f
call D:\jboss-4.2.2\jboss-4.2.2\bin\run.bat
echo.
echo.
echo 完成!
echo.
echo ****************************
echo.
setlocal enableextensions
echo.
echo.
echo WScript.Sleep 1000 > %temp%.\tmp$$$.vbs
set /a i =3
:T
if %i% == 0 goto N
setlocal
set /a i = %i% - 1
echo.
echo %i% 秒后自动退出。。。
cscript //nologo %temp%.\tmp$$$.vbs
goto T
goto End
:N
cls & echo.
echo.
for %%f in (%temp%.\tmp$$$.vbs*) do del %%f
exit
*********************************** 这行及以下不是 ***********************************
上面的“set /a i =10 ”中,i=10是等待的秒数。
你把中间的PAUSE>nur删掉就行了吧