执行批处理,取消按任意键继续!

2024年11月15日 04:13
有4个网友回答
网友(1):

用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

网友(2):

不用修改代码按CTRL +C就停止了

网友(3):

@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是等待的秒数。

网友(4):

你把中间的PAUSE>nur删掉就行了吧