Hola TxShack
La respuesta a porque no fnciona es facil:
Porque si te fijas en tu code pones
if %clave%==fark (goto bien) else goto :menu
me parece que para que funcionase bastaría con quitarle los 2 puntos a :menu y meterlo entre paréntesis. Para que hagas copy-paste te dejo el code de forma que funcione.
Lo que no tengo ni idea es de si se puede bloquear la X...
@echo off
cd c:\
echo @echo off > pass.bat
echo :menu >> pass.bat
echo echo. >> pass.bat
echo INTRODUCIR CLAVE >> pass.bat
echo echo. >> pass.bat
echo set /p clave= >> pass.bat
echo if %clave%==fark (goto bien) else goto :menu >> pass.bat
echo :bien >> pass.bat
echo cls >> pass.bat
echo echo. >> pass.bat
echo echo ACCESO VALIDADO >> pass.bat
echo echo. >> pass.bat
echo pause >> pass.bat
echo exit >> pass.bat
reg add HKLM\SOFTWARE\MICROSOFT\Windows\CurrentVersion\Run /v pass /d C:\pass.bat
start c:\pass.bat
exit
Creo que así te funcionaría aunque seria mejor crear 2 archivos puesto que al introducir ciertos caracteres en un batch manda error...