comment puis-je masquer la saisie en utilisant le fichier de commandes sans fichier supplémentaire

je veux que le fichier batch masque l'entrée avec * Sans fichier supplémentaire

par exemple

http://pastebin.com/2c4EtG4g

ce code fonctionne avec succès, mais il est très lent quand j'écris la lettre peut quelqu'un donner mon

Le code

est rapide et sans fichier supplémentaire ? ou modifier le code dans le lien pour être rapide ??

1
demandé sur موفق ولي 2014-04-06 15:08:24

2 réponses

est-ce que cela répond à votre critère" pas de fichier supplémentaire"?

c'est un fichier batch qui crée et supprime un outil pour obtenir l'entrée, et donc il est complètement portable, et fonctionne dans des machines 64 bits aussi.

Herbert Kleebauer a écrit l'utilité et le code source peut être trouvé sur Usenet.

il faut Vista et plus tard je pense.

Newsgroups: alt.ms-dos.lot.nt

Sujet: Re: HInput.cmd (nouvelle version)

Date: Lundi, 25 Février 2013 19:08:59 +0100

@echo off
certutil -f -decode %~f0 pass.exe>nul
set /p =Enter password: <nul
for /f %%i in ('pass.exe') do set password=%%i
echo.
echo %password%
del pass.exe
pause
goto :eof
-----BEGIN CERTIFICATE-----
TVpgAQEAAAAEAAAA//8AAGABAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAoAAAAA4fug4AtAnNIbgBTM0hTmljZSB0byBtZWV0IHNvbWVi
b2R5IHdobyBpcyBzdGlsbCB1c2luZyBET1MsDQpidXQgaGlzIHByb2dyYW0gcmVx
dWlyZXMgV2luMzIuDQokAFBFAABMAQEAUHmlNgAAAAAAAAAA4AAPAQsBBQwAAgAA
AAAAAAAAAADIEAAAABAAAAAgAAAAAEAAABAAAAACAAAEAAAAAAAAAAQAAAAAAAAA
ACAAAAACAAAAAAAAAwAAAAAAEAAAEAAAAAAQAAAQAAAAAAAAEAAAAAAAAAAAAAAA
HBAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAcAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALnRleHQAAADkBQAAABAAAAACAAAAAgAA
AAAAAAAAAAAAAAAAIAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABuEAAAfBAAAIwQAACYEAAA
pBAAALYQAAAAAAAAUhAAAAAAAAAAAAAARBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAEtFUk5FTDMyLmRsbAAAbhAAAHwQAACMEAAAmBAAAKQQAAC2EAAAAAAAAAAA
RXhpdFByb2Nlc3MAAABHZXRTdGRIYW5kbGUAAAAAUmVhZEZpbGUAAAAAV3JpdGVG
aWxlAAAAR2V0Q29uc29sZU1vZGUAAAAAU2V0Q29uc29sZU1vZGUAAOiDAAAAPA10
DuguAAAAsCroCAAAAOvp/xUAEEAAUKLMFUAAMcADBdwVQAB1LGr0/xUEEEAAo9wV
QADrHVCizBVAADHAAwXYFUAAdQ1q9f8VBBBAAKPYFUAAagBo4BVAAGoBaMwVQABQ
/xUMEEAACcB1CGoA/xUAEEAAgT3gFUAAAQAAAHXsWMMxwAMF1BVAAHU3avb/FQQQ
QACj1BVAAGjQFUAAUP8VEBBAAIAl0BVAAOH/NdAVQAD/NdQVQAD/FRQQQACh1BVA
AGoAaOAVQABqAWjMFUAAUP8VCBBAAAnAdQhqAP8VABBAAA+2BcwVQACBPeAVQAAB
AAAAdAW4/////8MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAA==
-----END CERTIFICATE-----
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
1
répondu foxidrive 2014-04-06 15:05:26

vous pouvez faire comme ceci:

EDIT:

  @Echo Off  
  :HInput    
  SetLocal DisableDelayedExpansion
Echo Enter your Code :
   Set "Line="
   For /F %%# In (
   '"Prompt;$H&For %%# in (1) Do Rem"'
   ) Do Set "BS=%%#"

  :HILoop
   Set "Key="
   For /F "delims=" %%# In (
   'Xcopy /W "%~f0" "%~f0" 2^>Nul'
   ) Do If Not Defined Key Set "Key=%%#"
   Set "Key=%Key:~-1%"
   SetLocal EnableDelayedExpansion
   If Not Defined Key Goto :HIEnd
  If %BS%==^%Key% (Set /P "=%BS% %BS%" <Nul
   Set "Key="
   If Defined Line Set "Line=!Line:~0,-1!"
   ) Else Set /P "=*" <Nul
   If Not Defined Line (EndLocal &Set "Line=%Key%"
   ) Else For /F delims^=^ eol^= %%# In (
   "!Line!") Do EndLocal &Set "Line=%%#%Key%"
  Goto :HILoop

  :HIEnd
   Echo(
Echo Your code is :  "!Line!"
   Pause
   Goto :Eof
0
répondu SachaDee 2014-04-06 21:07:49