Board logo

标题: [文本处理] 如何隐藏cmd中输入的密码? [打印本页]

作者: cbbos    时间: 2023-2-13 21:16     标题: 如何隐藏cmd中输入的密码?

代码如下,运行后出现请 输入密码:密码1234(如何隐藏这个输入的1234?)
  1. @echo off
  2. :up
  3. set /p a=请输入密码:
  4. if “%a%”==“1234” goto :log
  5. ping -n 5 127.1>nul
  6. cls&goto :up
  7. :log
复制代码

作者: 77七    时间: 2023-2-13 21:45

发帖前可以先搜索一下
输入密码但不显示既隐藏输入密码的批处理(20090420)
作者: Batcher    时间: 2023-2-13 22:07

回复 1# cbbos


批处理输入密码但不显示(隐藏输入密码)
http://bbs.bathome.net/thread-4226-1-1.html

批处理输入密码但显示星号的代码之批处理应用版
http://bbs.bathome.net/thread-2130-1-1.html
作者: cbbos    时间: 2023-2-14 13:45

测试后楼上链接里的
方法1,在win10运行不了。
方法2,虽然延迟后未回车的密码会显示,但是可通过增加延时时间完美解决
作者: 我号被盗了    时间: 2023-2-15 09:04

回复 1# cbbos
转载至:http://www.bathome.net/viewthrea ... 4%CA%BE%D0%C7%BA%C5
  1. @echo off&setlocal enabledelayedexpansion
  2. set "str=0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z"
  3. for %%a in (%str%) do set /a n+=1&set ".!n!=%%a"
  4. :lp
  5. cls&set /p=请输入八位由数字和字母组成的密码,请注意大小写:<nul
  6. if defined pwds set /p=%pwds%<nul
  7. if "%m%" equ "8" echo.&echo.&goto next
  8. choice /n /cs /c %str: =%
  9. set "pwds=%pwds%*"&set "pwd=%pwd%!.%errorlevel%!"
  10. set /a m+=1&goto lp
  11. :next
  12. if "%pwd%" equ "BatHomes" (
  13.    echo 密码正确
  14.   ) else (
  15.    echo 密码错误
  16. )
  17. pause>nul
复制代码





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