Board logo

标题: [文本处理] 批处理能否实现动态倒计时+手动选择+默认执行呢? [打印本页]

作者: soykoa    时间: 2021-9-11 00:38     标题: 批处理能否实现动态倒计时+手动选择+默认执行呢?

我是纯菜鸟,,,很纯的那种,,,和白痴差不多,,,因为最近在搞个批处理东西,,,就在网上找了很多现成的文件,然后来东拼西凑,,,搞出了自己能用的一个批处理文件,,

但现在遇到个问题就是运行后,,,那个倒计时,,始终做不出动态效果来,,,目前只能做成静态的,,,默认执行第四步,,,

不知道哪位大神可以帮帮我,,,倒计时动态变化期间,,,可以输入1 or 2 or 3 or 4 ,执行不同的命令,,,如果不输入,,,时间到了默认执行第四步

非常感谢!
  1. @echo off
  2. mode con cols=50 lines=50
  3. title 自编常用批处理命令
  4. echo.
  5. :lq_menu
  6. cls
  7. echo.
  8. echo.
  9. echo                自编常用批处理命令
  10. echo.
  11. echo.
  12. echo    --------------------------------------------
  13. echo.
  14. echo               1、移出相关的文件夹
  15. echo.
  16. echo.
  17. echo               2、删除需要映射的文件夹
  18. echo.
  19. echo.
  20. echo               3、映射相关文件夹
  21. echo.
  22. echo.
  23. echo               4、每日增量备份【默认执行】
  24. echo.
  25. echo.
  26. echo.
  27. echo.
  28. ::获取所在路径,%~dp0 这个为批处理文件所在的目录,也可以设置绝对路径;
  29. ::set CurrentPath=%~dp0
  30. set CurrentPath=D:\123\
  31. ::设置目标路径,这里必须存在需要映射的文件夹,实际路径填自己的;
  32. set MapPath=D:\456\
  33. ::设置备份路径,实际路径填自己的;
  34. set  BackupPath=E:\天翼同步盘\123\
  35. @echo 当前路径:%~dp0
  36. echo.
  37. @echo 映射路径:%MapPath%
  38. echo.
  39. @echo 备份路径:%BackupPath%
  40. ::以下是对执行的操作赋值;
  41. echo.
  42. echo 【警告】:将在10秒后执行 每日增量备份
  43. echo.
  44. choice /c:1234 /t 10 /d 4 /m:"请选择执行的操作"
  45. if %errorlevel%==4 goto lq_backup
  46. if %errorlevel%==3 goto lq_map
  47. if %errorlevel%==2 goto lq_del
  48. if %errorlevel%==1 goto lq_move
  49. :lq_move
  50. cls
  51. echo 移动
  52. pause>nul
  53. goto lq_menu
  54. :lq_del
  55. cls
  56. echo 删除
  57. pause>nul
  58. goto lq_menu
  59. :lq_map
  60. cls
  61. echo 映射
  62. pause>nul
  63. goto lq_menu
  64. :lq_backup
  65. cls
  66. echo 备份
  67. pause>nul
  68. goto lq_menu
复制代码

作者: idwma    时间: 2021-9-11 14:23

  1. @echo off
  2. mode con cols=50 lines=50
  3. title 自编常用批处理命令
  4. echo.
  5. :lq_menu
  6. cls
  7. echo.
  8. echo.
  9. echo                自编常用批处理命令
  10. echo.
  11. echo.
  12. echo    --------------------------------------------
  13. echo.
  14. echo               1、移出相关的文件夹
  15. echo.
  16. echo.
  17. echo               2、删除需要映射的文件夹
  18. echo.
  19. echo.
  20. echo               3、映射相关文件夹
  21. echo.
  22. echo.
  23. echo               4、每日增量备份【默认执行】
  24. echo.
  25. echo.
  26. echo.
  27. echo.
  28. ::获取所在路径,%~dp0 这个为批处理文件所在的目录,也可以设置绝对路径;
  29. ::set CurrentPath=%~dp0
  30. set CurrentPath=D:\123\
  31. ::设置目标路径,这里必须存在需要映射的文件夹,实际路径填自己的;
  32. set MapPath=D:\456\
  33. ::设置备份路径,实际路径填自己的;
  34. set  BackupPath=E:\天翼同步盘\123\
  35. @echo 当前路径:%~dp0
  36. echo.
  37. @echo 映射路径:%MapPath%
  38. echo.
  39. @echo 备份路径:%BackupPath%
  40. ::以下是对执行的操作赋值;
  41. set/a n+=1
  42. echo.
  43. echo 【警告】:将在10秒后执行 每日增量备份 %n%
  44. echo.
  45. choice /c:1234 /t 1 /d 4 /m:"请选择执行的操作"
  46. if %n%==10 goto lq_backup
  47. if %errorlevel%==3 goto lq_map
  48. if %errorlevel%==2 goto lq_del
  49. if %errorlevel%==1 goto lq_move
  50. if not %n%==10 goto lq_menu
  51. :lq_move
  52. cls
  53. echo 移动
  54. pause>nul
  55. goto lq_menu&set n=
  56. :lq_del
  57. cls
  58. echo 删除
  59. pause>nul
  60. goto lq_menu&set n=
  61. :lq_map
  62. cls
  63. echo 映射
  64. pause>nul
  65. goto lq_menu&set n=
  66. :lq_backup
  67. cls
  68. echo 备份
  69. pause>nul
  70. goto lq_menu&set n=
复制代码

作者: soykoa    时间: 2021-9-11 15:14

回复 2# idwma

老师,,,这个倒计时不是减少的,,而是增加的,,,执行选项返回菜单页后,,,那个倒计时没有清空


能麻烦帮我再修改一下,,,1.可以让我初始化需要的倒数时间,比如60秒,,,,,2.返回菜单页了,,,重新开始倒计时,,

非常感谢,,,,我才接触这个,,,稍微高深一点的东西,我就搞不懂了,,,谢谢老师!
作者: idwma    时间: 2021-9-11 16:11

  1. @echo off
  2. mode con cols=50 lines=50
  3. title 自编常用批处理命令
  4. echo.
  5. set n=10
  6. :lq_menu
  7. cls
  8. echo.
  9. echo.
  10. echo                自编常用批处理命令
  11. echo.
  12. echo.
  13. echo    --------------------------------------------
  14. echo.
  15. echo               1、移出相关的文件夹
  16. echo.
  17. echo.
  18. echo               2、删除需要映射的文件夹
  19. echo.
  20. echo.
  21. echo               3、映射相关文件夹
  22. echo.
  23. echo.
  24. echo               4、每日增量备份【默认执行】
  25. echo.
  26. echo.
  27. echo.
  28. echo.
  29. ::获取所在路径,%~dp0 这个为批处理文件所在的目录,也可以设置绝对路径;
  30. ::set CurrentPath=%~dp0
  31. set CurrentPath=D:\123\
  32. ::设置目标路径,这里必须存在需要映射的文件夹,实际路径填自己的;
  33. set MapPath=D:\456\
  34. ::设置备份路径,实际路径填自己的;
  35. set  BackupPath=E:\天翼同步盘\123\
  36. @echo 当前路径:%~dp0
  37. echo.
  38. @echo 映射路径:%MapPath%
  39. echo.
  40. @echo 备份路径:%BackupPath%
  41. ::以下是对执行的操作赋值;
  42. set/a n-=1
  43. echo.
  44. echo 【警告】:将在%n%秒后执行 每日增量备份
  45. echo.
  46. choice /c:1234 /t 1 /d 4 /m:"请选择执行的操作"
  47. if %n%==0 goto lq_backup
  48. if %errorlevel%==3 goto lq_map
  49. if %errorlevel%==2 goto lq_del
  50. if %errorlevel%==1 goto lq_move
  51. if not %n%==0 goto lq_menu
  52. :lq_move
  53. cls
  54. echo 移动
  55. pause>nul
  56. goto lq_menu&set n=10
  57. :lq_del
  58. cls
  59. echo 删除
  60. pause>nul
  61. goto lq_menu&set n=10
  62. :lq_map
  63. cls
  64. echo 映射
  65. pause>nul
  66. goto lq_menu&set n=10
  67. :lq_backup
  68. cls
  69. echo 备份
  70. pause>nul
  71. goto lq_menu&set n=10
复制代码

作者: soykoa    时间: 2021-9-15 03:45

谢谢老师,。。。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2