Board logo

标题: 发一个输入字符显示[*]号的批处理 [打印本页]

作者: yovie     时间: 2008-1-24 10:18    标题: 发一个输入字符显示[*]号的批处理

借鉴了原来Herbert Kleebauer大人的ASCODE那段

  Quote:

  1. @echo off&cls
  2. chcp 437>nul&graftabl 936>nul
  3. for /f "delims=: tokens=1" %%i in ('findstr /i /n "^:writepass$" "%~f0"') do set line=%%i
  4. <"%~f0" more +%line%|debug>nul
  5. set "ps="
  6. set n=0
  7. set /p=请输入密码:<nul
  8. :start
  9. if %n%==256 (
  10. echo  &&goto e
  11. ) else (
  12. for /f "delims=" %%i in ('password.com') do (
  13. if "%%i"=="?" goto e
  14. set "q=%%i"
  15. if "%%i" equ "?" (call :p "%%i") else (
  16. if "%%i" lss "? " (GOTO :start)
  17. set /p=*<nul
  18. set /a n+=1
  19. if "%%i" geq "? " call set "ps=%%ps%%%%q:~1%%"
  20. )))
  21. goto start

  22. :p
  23. if not "%ps%" equ "" (
  24. set "ps=%ps:~0,-1%"
  25. SET /p=  <nul
  26. )
  27. GOTO :eof

  28. :e
  29. :::Here you can do what you wanna do:::
  30. echo.
  31. echo 密码为:"%ps%"
  32. del password.com
  33. pause>nul
  34. goto :eof
  35. ::下面的请不要随意修改::
  36. :writepass
  37. A
  38. MOV DX,111
  39. MOV AH,09
  40. INT 21
  41. MOV AH,01
  42. INT 21
  43. MOV AH,4C
  44. INT 21
  45. INT 20
  46. DB '?'24 0D 0A 1A

  47. R CX
  48. 108
  49. N password.com
  50. W
  51. Q

        Yovie发表于:  2008-01-26  12:51

[ Last edited by yovie on 2008-1-28 at 12:11 PM ]
作者: yovie     时间: 2008-1-26 14:00
呵呵。修正了一下,重新发下。
作者: plp626     时间: 2008-1-26 14:45
顶,沙发
作者: suntb     时间: 2008-1-26 15:40
将楼主的 代码 保存为CMD后运行,提示:

password.com不是有效的Win32应用程序

拒绝访问
作者: HAT     时间: 2008-1-27 01:20
//        无奈何发表于:  2008-01-26  12:51

难道楼主是无奈何版主的马甲^_^
用人家的批处理也要看看使用说明嘛,呵呵。
作者: yovie     时间: 2008-1-28 12:13
呵呵.不好意思,楼上,我是忘了改那个签名了.[离版主,那是差了十万八千里呢!]
另外,4楼保存成 *.bat 试试.
作者: Shinaterry     时间: 2008-3-28 15:41
-_-!!! 为什么我运行不了?