找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 25682|回复: 7

[其他] [算是解决了吧]延时处理如何根据是否输入来判断

[复制链接]
发表于 2017-11-6 23:44:07 | 显示全部楼层 |阅读模式
本帖最后由 yunyan100 于 2017-11-7 01:19 编辑

RT,一个爱好者,现在想这样一个功能
  1. ping 127.1 -n 10 >nul
  2. set /p pa=输入y确认删除完成原文件(其他任意返回主菜单)
  3. :a
  4. :b
  5. :c
复制代码
这两段要实现的功能就是,一定要在延时的同时,也有下面的输入值功能(目前是延时后才显示下面),当10少内没有输入值,即%pa%为空值的时候,延时10秒后就自动走向a,否则根据%pa%的值走abc,
各位大神,这功能有办法实现吗?谢谢各位大神
发表于 2017-11-7 00:00:24 | 显示全部楼层
choice /?,xp略过
 楼主| 发表于 2017-11-7 00:01:59 | 显示全部楼层
回复 2# zaqmlp
高手能补全下吗?
我用这样的也不行
  1. choice /t 10 /d y /n >nul
复制代码
发表于 2017-11-7 00:03:53 | 显示全部楼层
回复 3# yunyan100

加上判断呀
 楼主| 发表于 2017-11-7 00:07:32 | 显示全部楼层
回复 4# zaqmlp


    不是的,我是想用set /p那个输入值与延时同步的,行不行?如果实在得不到这样的,我也考虑用这个吧
 楼主| 发表于 2017-11-7 01:18:44 | 显示全部楼层
回复 4# zaqmlp


    哎,穷人一个,哪有money向你要啊,本来是想用问题两个来合作的,看来确实达不到,我也选choice吧,自己已经做好如下:
  1. :delyy
  2. ::删除制作完成后的原文件
  3. cls&echo.&echo                           %batname%-%2
  4. echo.&echo.                                     %1
  5. echo.&echo.                       要删除按"y",不删除按"n"或8秒后自动返回主菜单
  6. echo.&choice /c yn /t 8 /d n
  7. if errorlevel 2 call :soft
  8. if errorlevel 1 goto :delold
  9. :delold
  10. set /p yn=请输入"y"确认删除,否则直返回主菜单:
  11. if /i "%yn%" equ "y" ( rd /s/q "%paa%"&call :soft)else ( call :soft)
复制代码
发表于 2017-11-8 18:33:34 | 显示全部楼层
:main
set pa=
set/p pa=
if not defined pa call:ping&&goto:a
for /f "usebackq delims=" %%i in ("%~f0")do (
if /i "%%i"==":%pa%" goto:%pa%
)
echo,无此跳转标签
goto:main
:a
echo,a
pause
:b
echo,b
pause
:c
echo,c
pause
:ping
ping /n 10 127.1 >nul 2>nul
goto:eof
 楼主| 发表于 2017-11-12 10:08:03 | 显示全部楼层
回复 7# /zhqsystem/zhq


    谢谢了,没有达到我的想法,还是choice的基本达到我的要求,我发下我更新的给你看下,且是删除到回收站,所以已经完美了
  1. :delyy
  2. ::删除制作完成后的原文件
  3. cls&echo.&echo                           %batname%-%2
  4. echo.&echo.                                    %1
  5. echo.&echo.                       要删除按"y",不删除按"n"(8秒后自动删除)
  6. echo.&choice /c yn /t 8 /d y
  7. if errorlevel 2 call :soft
  8. if errorlevel 1 echo;"%paa%"|mshta "javascript:new ActiveXObject('Shell.Application').NameSpace(10).MoveHere(new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(0).readline().split('"')[1]);close()"
  9. call :soft
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 01:52 , Processed in 0.018066 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表