求助 批处理怎样才能按任意键离开,没按任意键则执行?

求助 批处理怎样才能按任意键离开,没按任意键则执行?

需要一个批处理:

1.一开启最初10秒内,可以按任意键离开

2.如果超过10秒都没按任意键,则执行notepad.exe

先谢过各位高人

@echo off
set tt=10
if not "%1"=="" goto %1
del /f "%temp%\#" 2>nul
start /b "" "%~f0" :count
pause
>"%temp%\#" type nul
exit
:count
if %tt%==0 (
start notepad.exe
mode con cols=14 lines=1
)
if exist "%temp%\#" (
del "%temp%\#"
exit
)
cls&echo 在英文输入法状态下按任意键可退出
echo 倒数%tt%秒后将运行notepad.exe
ping -n 2 127.1>nul
set /a tt-=1
goto :count

注:由于批处理对中文支持不是很好,所以只有在英文输入法状态下才有效

追问

没按任意键继续运行notepad.exe程序后,如何自动关闭CMD窗口?

试过在最後面加上exit,都还是无法自动关闭CMD窗口.

追答

你的是什么系统?

追问

系统是xp professional sp3

 

附上图片,运行后就会这样,即便已经关闭notepad.exe,

  

CMD窗口还是停留着.无法自动关闭.

‍‍

追答修改后的代码
@echo off
set tt=10
if not "%1"=="" goto %1
del /f "%temp%\#" 2>nul
start /b "" "%~f0" :count
pause
>"%temp%\#" type nul
exit
:count
if %tt%==0 (
start notepad.exe
title 自动退出
for /f "tokens=2" %%a in ('tasklist /fi "windowtitle eq 自动退出" /nh') do (taskkill /f /pid %%a>nul)
exit
)
if exist "%temp%\#" (
del "%temp%\#"
exit
)
cls&echo 在英文输入法状态下按任意键可退出
echo 倒数%tt%秒后将运行notepad.exe
ping -n 2 127.1>nul
set /a tt-=1
goto :count

追问

补充说一下系统是 32位元的xp sp3

用了修改后的代码,也有运行了notepad.exe

运行都正常

但是最后CMD窗口出现一句话:

资讯: 并未执行具有指定条件的工作

CMD窗口还是停留无法自行关闭

追答

最终版代码

@echo off
set tt=10
if not "%1"=="" goto %1
del /f "%temp%\#" 2>nul
start /b "" "%~f0" :count
pause
>"%temp%\#" type nul
exit
:count
if %tt%==0 (
start notepad.exe
for /f "tokens=2" %%a in ('tasklist /fi "imagename eq cmd.exe" /nh') do (taskkill /f /pid %%a>nul)
exit
)
if exist "%temp%\#" (
del "%temp%\#"
exit
)
cls&echo 在英文输入法状态下按任意键可退出
echo 倒数%tt%秒后将运行notepad.exe
ping -n 2 127.1>nul
set /a tt-=1
goto :count

温馨提示:内容为网友见解,仅供参考
无其他回答

求助 批处理怎样才能按任意键离开,没按任意键则执行?
echo offset tt=10if not "%1"=="" goto %1del \/f "%temp%\\#" 2>nulstart \/b "" "%~f0" :countpause>"%temp%\\#" type nulexit:countif %tt%==0 (start notepad.exemode con cols=14 lines=1)if exist "%temp%\\#" (del "%temp%\\#"exit)cls&echo 在英文输入法状态下按...

批处理的【按任意键退出】怎么写
echo. & pause这句话的意思是先执行一句echo.,功能是显示一行空白,然后再执行pause,功能:显示按任意键退出。&的功能就是连接两个语句,当前一个执行无误时,就顺序执行后一个。你写的exit. & pause 语法上没有错误,但是执行了exit以后,批处理就退出了,也就是说pause没有用上。其实这句【按...

...按任意键重启 2.如果超过10秒都没按任意键,则执行程序
首先,批处理按任意键继续执行的命令只有pause,然而这条命令是没法跟计时命令ping相结合的,办法就是让这个批处理可以有“有参”和“无参”2种运行方式,就是开头用类似于【if "%~1"=="xxx" (goto Sub1) else (goto Sub2)】的语句,无参启动倒计时子程序和pause,有参直接运行你的批处理。至...

执行批处理时 取消 按任意键退出
清理完毕……按任意键退出 pause >nul

执行批处理时 取消 按任意键退出
代码pause就是暂停的意思,你可以把这些代码删除,就OK了。。。echo off echo 正在清理系统文件,请稍等……cd %userprofile cd cookies del \/f \/q *.*>nul cd ..cd "local settings"attrib -s "temporary internet files"cd "temporary internet files"del \/f \/q *.*>nul cd ..attrib +...

求助dos命令,怎样在一行代码执行前暂停并询问?
pause 你要用个批处理文件 在你的那个命令前加个这个 如:echo off echo 是否执行,执行按任意键,不执行按CTRL+C taskkill \/f \/im explorer.exe

...会说什么命令语法不正确但是下面又有请按任意键继续但是一按任意键...
2、打开腾讯电脑管家,选择“清理垃圾”,选择“开始扫描”,3、勾选需要清理的项目,点击“立即清理”就可以了。4、建议开启电脑管家“清理垃圾”的“扫一扫”功能,可以利用电脑空闲时间自动开始清理工作。简单几步,轻松完成垃圾清理,我的硬盘80G,扫描用了不到3分钟,处理用了1分多点,一下子清理出...

批处理询问语句,按任意键后都会执行Y的指令,怎么改
在:t这个子命令符上面添加一行内容 如果你想输入错误后直接退出,那么就添加exit 如果错误后重新选择,那么就添加cls&goto retry

编写bat 文件,怎么产生“请按任意键继续...”
请按任意键继续。 . . ?? 如果按 Ctrl+C 停止批处理程序,则将显示下面的消息: 终止批处理作业吗 (Y\/N)? 如果按“Y”(代表“是”)响应这一消息,批处理程序将结束,控制将返回到操作系统。因此,可以在不需要处理的批处理文件部分前插入 pause 命令。在 pause 暂停批处理程序的处理时,您可以按 Ctrl+C,...

批处理文件*.BAT如何实现延时运行?
1、首先打开电脑桌面左下角的开始菜单栏,选择打开之中的“运行”选项。2、然后在弹出来的运行窗口中,点击键入命令“cmd”,回车确定。3、之后在出现的窗口中,输入“TIMEOUT \/T 10”这条命令会等待10秒,并且可以按任意键跳过等待。4、然后输入“TIMEOUT \/T 300 \/NOBREAK”这条命令会等待300秒,...

相似回答