Ocultar texto con * asteriscos en el cmd (archivo .bat)

Iniciado por adninc5, 19 Agosto 2009, 01:19 AM

0 Miembros y 1 Visitante están viendo este tema.

adninc5

Hola, lo que quiero es que en el siguiente codigo:

cls
@ECHO OFF
title Folder Locker
if EXIST "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" goto UNLOCK
if NOT EXIST Locker goto MDLOCKER
:CONFIRM
echo Esta Seguro de que quiere proteger la Carpeta(Y/N)
set/p "cho=>"
if %cho%==Y goto LOCK
if %cho%==y goto LOCK
if %cho%==n goto END
if %cho%==N goto END
echo Invalid choice.
goto CONFIRM
:LOCK
ren Locker "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
attrib +h +s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
echo Folder locked
goto End
:UNLOCK
echo Ingrese su Contraseña para proteger su carpeta
set/p "pass=>"
if NOT %pass%== [b]Aqui el password[/b] goto FAIL
attrib -h -s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
ren "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" Locker
echo Folder Unlocked successfully
goto End
:FAIL
echo Invalid password
goto end
:MDLOCKER
md Locker
echo Locker created successfully
goto End
:End


¿Como puedo hacer para que a la hora de entrar el password salgan *** y no letras?
Gracias de antemano.

Novlucker

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

adninc5

Muchas gracias, pero la verdad es que no se programar muy bien, el codigo me lo pasaron, ¿en donde lo agrego o como lo optimiso?

kevlar

#3
Saludos.


Antes de todo prueba el código para ver lo que te hace.

Puedo ver que el password se salva en el archivo de texto pass.txt, que esta en la ruta definida por la variable %TEMP%  puedes escribir en MS-DOS o en el CMD   echo %TEMP%  y veras la ruta definida por esa variable, es más el código de Novlucker te muestra al final el contenido de ese archivo.

Recuerda comentar la linea del %temp%\pass.txt

En la parte de set /p "pass=>" mandas llamar este código.

Después lo lees mediante un  FOR /F "tokens=1 delims=" %%A IN (%temp%\pass.txt) do ( set pass= %%A)


No lo he probado, pero debe funcionar salvo alguna corrección en la sintaxis.  :-[



adninc5

Muchas gracias, pero la verdad no se nada de programacion en el cmd.
Mas bien queria ver un ejemplo de como queradia. Pero gracias de todas formas.

Herke

Se que el tema es viejo pero pude resolver la duda y por ahi le sirva a otro. Yo tenia el mismo texto y lo que vos queres quedaria asi, ya esta probado y funciona correctamente.
Donde dice ingresar contraseña ahi ponen la pass que quieran, tengan en cuenta que no van a ver nada cuando ponen la contraseña.


if %cho%==N goto END
echo Invalid choice.
goto CONFIRM
:LOCK
ren Locker "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
attrib +h +s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
echo Folder locked
goto End
:UNLOCK
@echo off
echo ^Set objPassword = CreateObject("ScriptPW.Password") >> %temp%\temp.vbs
echo WScript.StdOut.Write "Por favor, introduzca una contraseña:" >> %temp%\temp.vbs
echo strPassword = objPassword.GetPassword() >> %temp%\temp.vbs
echo ^set objfso = createobject("scripting.filesystemobject") >> %temp%\temp.vbs
echo ^set atemp = objfso.createtextfile(objfso.getspecialfolder(2) ^& "\pass.txt",true) >> %temp%\temp.vbs
echo atemp.write strPassword:atemp.close >> %temp%\temp.vbs
cscript /nologo %temp%\temp.vbs
more %temp%\pass.txt
FOR /F "tokens=1 delims=" %%A IN (%temp%\pass.txt) do (set pass= %%A)
del %temp%\pass.txt
del %temp%\temp.vbs"
if NOT %pass%== ingresar contraseña goto FAIL
attrib -h -s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
ren "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" Locker
echo Folder Unlocked successfully
goto End
AIL
echo Invalid password
goto end
:MDLOCKER
md Locker
echo Locker created successfully
goto End
:End