No se reconoce como un comando interno ....

Iniciado por ishared, 3 Febrero 2010, 19:29 PM

0 Miembros y 2 Visitantes están viendo este tema.

ishared

"Here" No se reconoce como un comando interno o externo, programa o archivo por lotes ejecutables.

Aca se los dejo, es para ocultar una carpeta, el problema es cuando la desbloquea

@ECHO OFF
title Folder Private
if EXIST "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" goto UNLOCK
if NOT EXIST Private goto MDLOCKER
:CONFIRM
echo Are you sure you want to lock the folder(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 Private "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
attrib +h +s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
echo Folder locked
goto End
:UNLOCK
echo Enter password to unlock folder
set/p "pass=>"
if NOT %pass%== password here goto FAIL
attrib -h -s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
ren "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" Private
echo Folder Unlocked successfully
goto End
:FAIL
echo Invalid password
goto end
:MDLOCKER
md Private
echo Private created successfully
goto End
:End


Tngo Windows seven ultimate 64 bits, muchisimas gracias!

leogtz

#1
Prueba:

Código (dos) [Seleccionar]
@ECHO OFF
title Folder Private
if EXIST "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" goto UNLOCK
if NOT EXIST Private goto MDLOCKER
:CONFIRM
echo Are you sure you want to lock the folder(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 Private "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
attrib +h +s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
echo Folder locked
goto End
:UNLOCK
echo Enter password to unlock folder
set/p "pass=>"
if NOT "%pass%"=="password here" goto FAIL
attrib -h -s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
ren "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" Private
echo Folder Unlocked successfully
goto End
:FAIL
echo Invalid password
goto end
:MDLOCKER
md Private
echo Private created successfully
goto End
:End
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

ishared

cuando intento poner la pass me dice, no se esperaba goto en este momento y se cierra
¿Cual puede ser el problema? Muchas gracias!

Guerrerohgp

Bueno ishared tu problema esta aqui:
if NOT %pass%== password here goto FAIL

Sucede que el if no reconoce el espacio que le estas dando asi que salta con error ya que password here es tomado como comando y pues no es un comando
la sintaxis es
IF NoT variableorconstant==variableorconstant accion
o
IF NoT variableorconstant equ variableorconstant accion

como lo haces here es la accion y noc si " password" lo reconozca bn.

bueno la solucion es ponerlo entre comillas:
IF NoT "%pass%"==" password here" goto FAIL

o como mostro leo
if NOT "%pass%== password here" goto FAIL


es noto a simple vista.

Suerte!!!
bytes, bye.

ishared

Muchisimas gracias! Los felicito a los dos por lo mucho que saben! gracias!