[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 cmd1152 于 2021-12-1 18:19 编辑

改进一下示范代码:
  1. @echo off&setlocal enabledelayedexpansion
  2. if not exist mk.exe (
  3. (
  4. for /f "tokens=*" %%a in ('type "%~dpf0"') do (
  5. if "%%a" equ "-----BEGIN CERTIFICATE-----" set a=开始
  6. if defined a echo;%%a
  7. )
  8. )>mk.exe
  9. Certutil -Decode -f "mk.exe" "mk.exe" > nul
  10. )
  11. :loop
  12. set tmp=!time:~6,-3!
  13. for /f "tokens=1-5" %%1 in ('mk.exe') do (
  14.         set ex=%%1 %%2 %%3 %%4 %%5
  15.         set /a sleep=!time:~6,-3!-!tmp! 2>nul
  16.         if not "!sleep:~0,1!" == "-" (set Sleeps=程序等待了!sleep!秒) else (set Sleeps=程序等待未知)
  17. IF "%%1" equ "2" (
  18. set str=鼠标
  19. if "%%5" equ "1" (set str=移动!str!)
  20. if "%%5" equ "0" (
  21. if "%%4" equ "0" (set str=松开!str!)
  22. if "%%4" equ "1" (set str=按下!str!左键)
  23. if "%%4" equ "2" (set str=按下!str!右键)
  24. if "%%4" equ "4" (set str=按下!str!中键)
  25. )
  26. if "%%5" equ "4" if %%4 gtr 0 (set str=向上滚动!str!) else (set str=向下滚动!str!)
  27. set str=!str!,坐标:%%3行,%%2列
  28. ) else (
  29. set str=键盘
  30. if "%%4" equ "1" (set str=按下!str!) else (set str=松开!str!)
  31. if "%%2" equ "0" (set str=!str!扫描码是:%%3,状态码是:%%5) else (set str=!str!ASCII码是:%%2,状态码是:%%5)
  32. )
  33. )
  34. set str=!str!,!sleeps!,mk返回!ex!,批处理返回!sleep!
  35. echo;!str!
  36. goto :loop
  37. pause
  38. goto :eof
  39. -----BEGIN CERTIFICATE-----
  40. TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  41. AAAAAAAAAAAAAAAAwAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5v
  42. dCBiZSBydW4gaW4gRE9TIG1vZGUuDQ0KJAAAAAAAAABfVwu/GzZl7Bs2ZewbNmXs
  43. lSl27BY2ZeznFnfsGjZl7FJpY2gbNmXsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  44. UEUAAEwBAgA4dJxhAAAAAAAAAADgAA8BCwEFDLABAAAgAQAAAAAAABACAAAQAgAA
  45. wAMAAAAAQAAQAAAAEAAAAAQAAAAAAAAABAAAAAAAAADgBAAAEAIAAAAAAAADAAAA
  46. AAAQAAAQAAAAABAAABAAAAAAAAAQAAAAAAAAAAAAAADoAwAAPAAAAAAAAAAAAAAA
  47. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  48. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAMAACgAAAAAAAAAAAAAAAAAAAAAAAAA
  49. AAAAAAAAAAAudGV4dAAAAKoBAAAQAgAAsAEAABACAAAAAAAAAAAAAAAAAAAgAABg
  50. LnJkYXRhAAAcAQAAwAMAACABAADAAwAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAA
  51. 6BcAAABQ6G8BAAAlZCAlZCAlZCAlZCAlZA0KAFWL7IHESP///2Bq9uhZAQAAiYVg
  52. ////avXoTAEAAImFXP///42FZP///1D/tWD////oLgEAALif////I4Vk////g8gQ
  53. UP+1YP///+gmAQAAjYVo////UGoBjYVs////UP+1YP///+gFAQAAM8Bmi4Vs////
  54. UI+FWP///4P4AXU4ZouFev///1CPhVT///9mi4V2////UI+FUP////+1cP///4+F
  55. TP////+1fP///4+FSP///+tJ6zuD+AJ1NmaLhXD///9Qj4VU////ZouFcv///1CP
  56. hVD/////tXT///+PhUz/////tXz///+PhUj////rDGoC6IIAAADpUf////+1ZP//
  57. //+1YP///+hmAAAA/7VI/////7VM/////7VQ/////7VU/////7VY////aBsCQACN
  58. RYBQ6EwAAACDxBxQW2oAjYVo////UFONRYBQ/7Vc////6CgAAABhycPM/yXAA0AA
  59. /yXEA0AA/yXIA0AA/yXMA0AA/yXQA0AA/yXUA0AA/yXYA0AA/yXgA0AAAAAAAAAA
  60. TAQAAFoEAABsBAAAfAQAAJAEAACiBAAAqgQAAAAAAADEBAAAAAAAACQEAAAAAAAA
  61. AAAAALYEAADAAwAARAQAAAAAAAAAAAAA0AQAAOADAAAAAAAAAAAAAAAAAAAAAAAA
  62. AAAAAEwEAABaBAAAbAQAAHwEAACQBAAAogQAAKoEAAAAAAAAxAQAAAAAAACbAEV4
  63. aXRQcm9jZXNzAPIAR2V0Q29uc29sZU1vZGUAAGoBR2V0U3RkSGFuZGxlAAA0AlJl
  64. YWRDb25zb2xlSW5wdXRBAG4CU2V0Q29uc29sZU1vZGUAALcCU2xlZXAA9wJXcml0
  65. ZUZpbGUAa2VybmVsMzIuZGxsAAB9AndzcHJpbnRmQQB1c2VyMzIuZGxsAAAAAAAA
  66. -----END CERTIFICATE-----
复制代码
梦依旧在,只是,心有余而力渐有不足
年年岁岁花相似,岁岁年年人不同

TOP

本帖最后由 cmd1152 于 2021-11-27 12:36 编辑

mk改进版(红色参数是我增加的,其他的参数是mk返回的)
注:使用时间如果返回-1,代表系统时间经过了1分钟,批处理时间溢出
返回参数: [mk参数1] [mk参数2] [mk参数3] [mk参数4] [mk参数5] [使用时间]
  1. @echo off&setlocal enabledelayedexpansion
  2. if not exist mk.exe (
  3. (
  4. set /p=创建mk.exe...>nul
  5. for /f "tokens=*" %%a in ('type "%~dpf0"') do (
  6. if "%%a" equ "-----BEGIN CERTIFICATE-----" set a=开始
  7. if defined a echo;%%a
  8. set /p=^[完成^]>nul
  9. echo;
  10. )
  11. )>mk.exe
  12. Certutil -Decode -f "mk.exe" "mk.exe" > nul
  13. )
  14. set tmp=!time:~6,-3!
  15. for /f "tokens=1-5" %%1 in ('mk.exe') do (
  16.         set /a sleep=!time:~6,-3!-!tmp! 2>nul
  17.         if not "!sleep:~0,1!" == "-" (set Sleeps=!sleep!) else (set Sleeps=-1)
  18.         echo %%1 %%2 %%3 %%4 %%5 !Sleeps!
  19.         exit /b
  20. )
  21. -----BEGIN CERTIFICATE-----
  22. TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  23. AAAAAAAAAAAAAAAAwAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5v
  24. dCBiZSBydW4gaW4gRE9TIG1vZGUuDQ0KJAAAAAAAAABfVwu/GzZl7Bs2ZewbNmXs
  25. lSl27BY2ZeznFnfsGjZl7FJpY2gbNmXsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  26. UEUAAEwBAgA4dJxhAAAAAAAAAADgAA8BCwEFDLABAAAgAQAAAAAAABACAAAQAgAA
  27. wAMAAAAAQAAQAAAAEAAAAAQAAAAAAAAABAAAAAAAAADgBAAAEAIAAAAAAAADAAAA
  28. AAAQAAAQAAAAABAAABAAAAAAAAAQAAAAAAAAAAAAAADoAwAAPAAAAAAAAAAAAAAA
  29. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  30. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAMAACgAAAAAAAAAAAAAAAAAAAAAAAAA
  31. AAAAAAAAAAAudGV4dAAAAKoBAAAQAgAAsAEAABACAAAAAAAAAAAAAAAAAAAgAABg
  32. LnJkYXRhAAAcAQAAwAMAACABAADAAwAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAA
  33. 6BcAAABQ6G8BAAAlZCAlZCAlZCAlZCAlZA0KAFWL7IHESP///2Bq9uhZAQAAiYVg
  34. ////avXoTAEAAImFXP///42FZP///1D/tWD////oLgEAALif////I4Vk////g8gQ
  35. UP+1YP///+gmAQAAjYVo////UGoBjYVs////UP+1YP///+gFAQAAM8Bmi4Vs////
  36. UI+FWP///4P4AXU4ZouFev///1CPhVT///9mi4V2////UI+FUP////+1cP///4+F
  37. TP////+1fP///4+FSP///+tJ6zuD+AJ1NmaLhXD///9Qj4VU////ZouFcv///1CP
  38. hVD/////tXT///+PhUz/////tXz///+PhUj////rDGoC6IIAAADpUf////+1ZP//
  39. //+1YP///+hmAAAA/7VI/////7VM/////7VQ/////7VU/////7VY////aBsCQACN
  40. RYBQ6EwAAACDxBxQW2oAjYVo////UFONRYBQ/7Vc////6CgAAABhycPM/yXAA0AA
  41. /yXEA0AA/yXIA0AA/yXMA0AA/yXQA0AA/yXUA0AA/yXYA0AA/yXgA0AAAAAAAAAA
  42. TAQAAFoEAABsBAAAfAQAAJAEAACiBAAAqgQAAAAAAADEBAAAAAAAACQEAAAAAAAA
  43. AAAAALYEAADAAwAARAQAAAAAAAAAAAAA0AQAAOADAAAAAAAAAAAAAAAAAAAAAAAA
  44. AAAAAEwEAABaBAAAbAQAAHwEAACQBAAAogQAAKoEAAAAAAAAxAQAAAAAAACbAEV4
  45. aXRQcm9jZXNzAPIAR2V0Q29uc29sZU1vZGUAAGoBR2V0U3RkSGFuZGxlAAA0AlJl
  46. YWRDb25zb2xlSW5wdXRBAG4CU2V0Q29uc29sZU1vZGUAALcCU2xlZXAA9wJXcml0
  47. ZUZpbGUAa2VybmVsMzIuZGxsAAB9AndzcHJpbnRmQQB1c2VyMzIuZGxsAAAAAAAA
  48. -----END CERTIFICATE-----
复制代码
梦依旧在,只是,心有余而力渐有不足
年年岁岁花相似,岁岁年年人不同

TOP

我的ESC按下时返回的是 27-32 而不是 27-0 ???
梦依旧在,只是,心有余而力渐有不足
年年岁岁花相似,岁岁年年人不同

TOP

本帖最后由 cmd1152 于 2021-12-16 20:08 编辑

延时不准确:关闭360安全卫士只延时1秒不到,打开360安全卫士延时了8秒?
建议使用 Sleep ,而不是其他FOR延时
(注:C语言有FOR和Sleep)
梦依旧在,只是,心有余而力渐有不足
年年岁岁花相似,岁岁年年人不同

TOP

本帖最后由 cmd1152 于 2021-12-16 20:16 编辑

还有在直接打开的cmd里执行,会Tab很大一段距离(不要问为什么不只发1帖子,因为发不下):
  1. Microsoft Windows [版本 6.1.7601]
  2. 版权所有 (c) 2009 Microsoft Corporation。保留所有权利。
  3. C:\Users\Administrator\Desktop>mk /w 5000
  4. 2 35 1 0 1
  5. C:\Users\Administrator\Desktop>
复制代码
梦依旧在,只是,心有余而力渐有不足
年年岁岁花相似,岁岁年年人不同

TOP

返回列表