Te damos la bienvenida a la comunidad de T!Estás a un paso de acceder al mejor contenido, creado por personas como vos.

O iniciá sesión con
¿No tenés una cuenta?



Si tenes alguna duda envíame MP.
Borro comentarios fuera de lugar, acepto criticas constructivas.
Seguime si te gustan mis aportes. Es GRATIS!
Soy humano y me puedo equivocar, si ves un error se agradece el aviso.









Muuuchas veces me preguntaron, y seguro que a muchos de ustedes también, la siguiente duda en cuestión...


¿Como pongo una contraseña a una carpeta de mi PC?


o

¿Que programa me tengo que bajar para ponerle contraseña a una carpeta?



Por ese motivo es que vengo con este tema, para que salgan de acá sabiendo como ponerle contraseñas a sus carpetas con sus por...querías y se queden tranquilos si un familiar o algo así les usa su PC

Pero no voy a usar ningún software externo obligatorio sino las mismas lineas de comandos de Windows...A la vez no solo les voy a hacer un crap con un codigo para que hagan copy/paste sino que les voy a explicar de que consta cada parte para que no sientan que estan leyendo japones o algo así y así lo van a poder personalizar a su gusto.


No es nada novedoso, rebuscado ni epicofantastico y seguro que ya la postearon muchas veces...Pero bueno...Quería que lo vieran a fondo asi lo pueden entender, y a pesar de que es algo muy posteado tambien es muy consultado.


Sin nada mas que decir, pasemos con el post...





Ahora les mostrare las funciones que utilizaremos para programar nuestro batch y les explicare para que sirven.


echo = Esta funcion del CMD sirve para mostrar el mensaje que querramos en la consola.

Si escribimos "@echo off" al principio de todo la consola no mostrará en pantalla el proceso que se esta realizando pero si mostrara el mensaje que mostremos con otros "echos".
Lo recomendado es siempre usar el "@echo off" al principio, despues son totalmente opcionales ya que no alteran la funcion del batch pero sin ellos no entenderian un carajo

if = Es un condicional. Como decir "Si pasa esto...haces esto. Si pasa esto otro...haces esto otro."

ren = Tambien se puede utilizar "rename". Sirve para cambiar el nombre y/o extensión a cualquier archivo/s y/o carpeta/s.

md = Sirve para crear una carpeta nueva.

goto = Básicamente "Ir a..." .
Se usan casi siempre para ir a distintas secciones, las cuales se establecen con dos puntos y mayusculas. Por ej, :SECCION1 ...
Y se mencionan con goto + SECCION. Por ej, goto SECCION1

set/p = La funcion de "set/p" es definir una variable para permitir a la persona que responda algo o presione determinada tecla para que ocurra (o no) algo.

attrib = Sirve para otorgar(+)/quitar(-) determinados atibutos a un archivo o carpeta. En este caso utilizamos los atributos "s" (sytem) y "h" (hidden) que nos sirven para otorgar las propiedades de archivos de sistema y oculto, en ese orden.





Respetar Mayusculas & Minusculas ya que así se indica secciones y prioridades.
Por mas que les arda mucho los ojos traten de evitar utilizar tíldes, simbolos y ñ en los batchs porque aveces se vuelven un poco locos.
Si no esta diferenciado quiere decir que sirve para cualquier Windows.


Paso 1


Bueno linces, lo primero que deben hacer es abri el Bloc de Notas de Windows...El mismo se encuentra en...


Incio >> Todos los programas / Programas >> Accesorios >> Bloc de notas

Si por alguna razón no lo encuentran o les da pereza buscarlo apretan Inicio+R , escriben notepad.exe y presionan Enter...




Paso 2


Ahora vamos a abrir nuestro .bat con un "@ECHO OFF" para que no se vea el proceso y les asignamos las funciones a realizar si se encuentra o no la carpeta que queremos crear.

Para Windows XP:
@ECHO OFF

if EXIST "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" goto DESBLOQUEAR
if NOT EXIST [nombredecarpeta] goto MDLOCKER


Para Windows Vista en adelante:
@ECHO OFF

if EXIST "Control Panel.{2559a1f2-21d7-11d4-bdaf-00c04f60b9f0}" goto DESBLOQUEAR
if NOT EXIST [nombredecarpeta] goto MDLOCKER


El "Control Panel"+el codigo "raro" es porque mas adelante renombraremos así nuestra carpeta para que sea innaccesible. Ya entendrán el por que...
Si no se cumple con alguna de las 2 condiciones establecidas el .bat simplemente pasará a lo siguiente que le ordenes.


Paso 3


A continuación crearemos la sección CONFIRMACION en donde decidiremos si queremos bloquear nuestra carpeta...
Para ello abriremos un set/p con su variable y pondremos con un condicional las posibles respuestas junto con la funcion que van a cumplir.
Si presionamos una tecla no establecida mostrara el echo siguiente y volveremos al principio de CONFIRMACION con el goto que pondremos.

:CONFIRMACION
echo Estas seguro que quieres bloquear la carpeta? (S/N)
set/p "elegir=>"
if %elegir%==S goto BLOQUEAR
if %elegir%==s goto BLOQUEAR
if %elegir%==n goto END
if %elegir%==N goto END
echo Tecla invalida.
goto CONFIRMACION


En donde establecen la variable de set/p va entre comillas y con los simbolos => al final antes de cerrar comillas.
Cuando ponen el condicional la variable que le sigue va entre signos % y con 2 signos == seguidos al %
Si quieren poner que la misma letra funcione sea mayuscula o minuscula, deben agregar ambas formas por separado.


Paso 4


Ahora vamos a crear la sección BLOQUEAR en donde se establecerá la acción a realizar si presionamos la tecla correspondiente en CONFIRMACION.

Windows XP:
:BLOQUEAR
ren [nombredecarpeta] "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
attrib +h +s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
echo Carpeta bloqueada
goto END


Windows Vista:
:BLOQUEAR
ren [nombredecarpeta] "Control Panel.{2559a1f2-21d7-11d4-bdaf-00c04f60b9f0}"
attrib +h +s "Control Panel.{2559a1f2-21d7-11d4-bdaf-00c04f60b9f0}"
echo Carpeta bloqueada
goto END


Renombramos nuestra carpeta a "Control Panel..." para que sea inaccesible de cualquier forma que intentemos. Ya que...
  • Escribiendo el directorio+el nombre original no podemos ya que no se llama mas así.
  • Escribiendo el directorio+el nombre "Control Panel" no podemos ya que tampoco se llama mas así.
  • Escribiendo el directorio+el nombre "Control Panel"+los numeros no podemos ya que de esa manera iremos al Panel de Control de Windows.
  • Activando "Mostrar todas las carpetas y archivos ocultos" tampoco ya que tiene atributo de archivo de sistema oculto


Paso 5



Ya casi estamos, ahora toca crear las secciones DESBLOQUEAR y ERROR. En la primera abriremos un nuevo set/p y estableceremos la contraseña que querramos para nuestra carpeta, en caso de ser correcta se le quitara a nuestra carpeta los atributos otorgados y se le pondra el nombre original, de este manera volveremos a tener acceso.
En caso contrario se saltará a la sección ERROR que cerrará la ventana.

Windows XP:
:*DESBLOQUEAR
echo Escribe la contraseña para desbloquear carpeta
set/p "pass=>"
if NOT %pass%== [contraseña] goto ERROR
attrib -h -s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
ren "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" [nombredecarpeta]
echo Carpeta desbloqueada
goto END

:ERROR
echo Contraseña incorrecta
goto END


Windows Vista en adelante:
:*DESBLOQUEAR
echo Escribe la contraseña para desbloquear carpeta
set/p "pass=>"
if NOT %pass%== [contraseña] goto ERROR
attrib -h -s "Control Panel.{2559a1f2-21d7-11d4-bdaf-00c04f60b9f0}"
ren "Control Panel.{2559a1f2-21d7-11d4-bdaf-00c04f60b9f0}" [nombredecarpeta]
echo Carpeta desbloqueada
goto END

:ERROR
echo Contraseña incorrecta
goto END



Perdón, puse un * entre DESBLOQUEAR y los dos puntos correspondientes porque sino se hace una carita y no se entiende, simplemente borren el asterisco.


Paso 6


Por ultimo abriremos las secciones MDLOCKER y END...La primera creara la carpeta en caso de que no exista, y la segunda sera el fin básicamente xD

:MDLOCKER
md [nombredecarpeta]
echo Carpeta creada
goto END

:END



Paso 7


Ahora solo tienen que guardar su ejecutable...

Click en Archivo>>Guardar Como...



Y lo guardan con el nombre que quieran pero con la extensión .bat



Van a donde esta guardado, lo abren y si es la primera vez se les va a crear la carpeta con el nombre que eligieron. Luego les dara para elegir si la quieren bloquear.









Para Windows XP

@ECHO OFF

if EXIST "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" goto DESBLOQUEAR
if NOT EXIST [nombredecarpeta] goto MDLOCKER

:CONFIRMACION
echo Estas seguro que quieres bloquear la carpeta? (S/N)
set/p "elegir=>"
if %elegir%==S goto BLOQUEAR
if %elegir%==s goto BLOQUEAR
if %elegir%==n goto END
if %elegir%==N goto END
echo Tecla invalida.
goto CONFIRMACION

:BLOQUEAR
ren [nombredecarpeta] "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
attrib +h +s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
echo Carpeta bloqueada
goto END

:*DESBLOQUEAR
echo Escribe la contraseña para desbloquear carpeta
set/p "pass=>"
if NOT %pass%== [contraseña] goto ERROR
attrib -h -s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
ren "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" [nombredecarpeta]
echo Carpeta desbloqueada
goto END

:ERROR
echo Contraseña incorrecta
goto END

:MDLOCKER
md [nombredecarpeta]
echo Carpeta creada
goto END

:END




Para Windows Vista en adelante:

@ECHO OFF

if EXIST "Control Panel.{2559a1f2-21d7-11d4-bdaf-00c04f60b9f0}" goto DESBLOQUEAR
if NOT EXIST [nombredecarpeta] goto MDLOCKER

:CONFIRMACION
echo Estas seguro que quieres bloquear la carpeta? (S/N)
set/p "elegir=>"
if %elegir%==S goto BLOQUEAR
if %elegir%==s goto BLOQUEAR
if %elegir%==n goto END
if %elegir%==N goto END
echo Tecla invalida.
goto CONFIRMACION

:BLOQUEAR
ren [nombredecarpeta] "Control Panel.{2559a1f2-21d7-11d4-bdaf-00c04f60b9f0}"
attrib +h +s "Control Panel.{2559a1f2-21d7-11d4-bdaf-00c04f60b9f0}"
echo Carpeta bloqueada
goto END

:*DESBLOQUEAR
echo Escribe la contraseña para desbloquear carpeta
set/p "pass=>"
if NOT %pass%== [contraseña] goto ERROR
attrib -h -s "Control Panel.{2559a1f2-21d7-11d4-bdaf-00c04f60b9f0}"
ren "Control Panel.{2559a1f2-21d7-11d4-bdaf-00c04f60b9f0}" [nombredecarpeta]
echo Carpeta desbloqueada
goto END

:ERROR
echo Contraseña incorrecta
goto END

:MDLOCKER
md [nombredecarpeta]
echo Carpeta creada
goto END

:END



¡IMPORTANTE!


Seguro que se dieron cuenta pero en donde dice [nombredecarpeta] y [contraseña] pueden poner lo que se les plazca para lo que se menciona, no se olviden de quitar los corchetes!.






Bueno, ademas de [nombredecarpeta] y [contraseña] se puede personalizar casi todo...


Los "echos" se puede personalizar sin ningun tipo de problemas ya que solo son mensajes que se muestran...Por ej, en vez de poner esto:

:ERROR
echo Contraseña incorrecta
goto END


Pueden poner...

:ERROR
echo Bardeaste troesma, esa no es la contraseña. Denunciado
goto END



El nombre de las secciones las podes modificar por las que quieras, solo debes poner la misma palabra en mayuscula en donde se repita. Y con los dos puntos en donde corresponda.

Las variables del set/p también las podes modificar y las opciones de respuesta también.





Seguro diran...


Pero alguno que maso menos sepa hace click derecho sobre el .bat >> editar , y podría ver la contraseña que pusimos...




Y si, es cierto...Por eso les traigo una posible solucion totalmente opcional...Ademas de las obvias que sería mover momentaneamente el .bat a otro lado o cambiarle la extensión a .mp3 (por ej).

Para eso deben utilizar un programa llamado Bat To Exe Converter...

No puedo dejarles el link, pero lo pueden Googlear y es muy facil de conseguir...Es de distribución gratuita como puede ser Photoshop, Autocad, el Vegas, Office, y muchos programas que utilizamos diariamente.


Es muy simple...

Seleccionan el .bat, le ponen el nombre que quieren al .exe y click en "Compile"







Bueno gente, espero que les haya gustado / resultado util mi aporte

Se que es muy visto pero tambien es muy consultado y siempre lo pasan así no mas...Por ese motivo es que decidí ver este tema en profundidad así entienden un poco por donde va el tema y no solo hacen copy/paste.

Si tienen alguna duda pregunten que de las dudas que me preguntan salen los temas que hago

Saludos y Gracias por pasar