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

这个方式好象能支持比 choice 更多的字符, 比如 , . / Tab 字符, 甚至组合键 Ctrl+A   Ctrl+Q 等

另外, 我把参数稍改了下, 在 win7 64 位仍能行
  1. xcopy /w . . 2^>NUL
  2. 或者
  3. xcopy /w \ \ 2^>NUL
复制代码
我能找到的最早出处

February 07, 2013, 03:07:23 AM

jeb @ www.computerhope.com

http://www.computerhope.com/forum/index.php/topic,135713.msg872140.html?PHPSESSID=70a491e69021f3e926539660fee754b9#msg872140

随后, jeb 又在 stackoverflow 和 groups.google.com/forum 都发表过此代码应用例

http://stackoverflow.com/questio ... r/15160168#15160168

https://groups.google.com/forum/ ... atch.nt/hpNOPhNfwtI


我找到的时间最早的示例代码
  1. @echo off
  2. setlocal EnableDelayedExpansion
  3. if "%~1"==":::" goto :spinnerThread
  4. :menuLoop
  5. <nul set /p menu=Select menu[1 or 2]=
  6. call :GetKey
  7. echo(
  8. echo Pressed '!key!'
  9. if !key!==1 call :menu1
  10. if !key!==2 call :menu2
  11. if !key!==2 call :menu2
  12. goto :menuLoop
  13. :menu1
  14. :menu2
  15. call :spinnerStart
  16. rem do some work
  17. ping localhost -n 3  > nl
  18. call :spinnerStop
  19. echo Finished
  20. exit /b
  21. :spinnerStart
  22. del spinnerStop.tmp > nul 2>&1
  23. start /b "" cmd /c "%~df0" :::
  24. exit /b
  25. :spinnerStop
  26. echo dummy > spinnerStop.tmp
  27. :__spinnerStop
  28. if exist spinnerStop.tmp goto :__spinnerStop
  29. exit /b
  30. :spinnerThread
  31. for /f %%a in ('copy /Z "%~f0" nul') do set "CR=%%a"
  32. set "spinChars=\|/-"
  33. :spinnerLoop
  34. set /a "spinner=(spinner + 1) %% 4"
  35. <nul set /p ".=Waiting...!spinChars:~%spinner%,1!!CR!"
  36. ping localhost -n 2 > nul 2>&1
  37. if not exist spinnerStop.tmp goto :spinnerLoop
  38. del spinnerStop.tmp > nul 2>&1
  39. echo(
  40. exit /b
  41. :GetKey
  42. set "key="
  43. for /F "usebackq delims=" %%L in (`xcopy /L /w "%~f0" "%~f0" 2^>NUL`) do (
  44.   if not defined key set "key=%%L"
  45. )
  46. set "key=%key:~-1%"
  47. exit /b
复制代码
2

评分人数

TOP

回复 5# CrLf

有个东西是一直想要的, 但从没看到, 今天突然发现, 至少对我来说, 是发现了黑科技哦
  1. certutil -decode
  2. certutil -decodehex
复制代码
1

评分人数

TOP

本帖最后由 aa77dd@163.com 于 2016-9-7 13:12 编辑

回复 7# CrLf


支持的编码文件里 即使 有好多的 CRLF, 不管是本体真身, 还是克隆的, 统统都会被忽略啊

还有注释行, 所以我用这个来把任意的小 EXE 包含在 批处理文件里,

这样 通常 几k 的 EXE 哪用得着打包呢, 全直接在批处理里文本化就行了

TOP

返回列表