Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - 0x0309

#71
Scripting / Re: [BATCH]Funcion Password
29 Abril 2009, 14:49 PM
gracias. El código que cambia el color de texto y de fondo a negro es:
"%ESCAPE%[30;40m"
pero requiere tener cargado ansi.sys y en xp ser ejecutado con command.com no con cmd.exe
#72
Scripting / Re: [BATCH]Funcion Password
29 Abril 2009, 08:44 AM
se usa ansi.sys para cambiar el color de fondo y de letra a negro, así la password no es leída cuando la escribes.

Para que no sea necesario presionar escape, y simplemente presionen enter he hecho este nuevo código.:


::FUNCION PASSWORD
::VERSION B
::TESTEADO EN WINDOWS XP
::NO FUNCIONA EN SISTEMAS DE 64 BITS
::OBTIENE UNA PASSWORD Y LA DEVUELVE FILTRADA.
::SOLO SE PERMITEN LETRAS Y NUMEROS.
::ME HE DIVERTIDO CREANDO ESTA FUNCION PUES NUNCA HABIA JUGADO CON ANSI.SYS
::PENSE QUE NO SE PODIA EN XP Y SI SE PUEDE
::CON ANSI.SYS CAMBIO EL COLOR DE FONDO Y DE LETRAS A NEGRO
::AUTOR: CARLOS


@ECHO OFF
SETLOCAL ENABLEEXTENSIONS
PUSHD "%TEMP%"
(SET PASSWORD=)

SET NOMBRE=CONFIG.NT
SET ARCHIVO=%Windir%\SYSTEM32\%NOMBRE%
SET ARCHIVO_RESPALDO=%ARCHIVO%.BAK
IF EXIST "%ARCHIVO_RESPALDO%" DEL /F /Q /A "%ARCHIVO_RESPALDO%" >NUL 2>&1
IF EXIST "%ARCHIVO%" TYPE "%ARCHIVO%" > "%ARCHIVO_RESPALDO%"
IF EXIST "%ARCHIVO%" DEL /F /Q /A "%ARCHIVO%" >NUL 2>&1

FOR %%A IN (
"DOSONLY"
"DOS=HIGH, UMB"
"FILES=40"
"DEVICE=%WINDIR%\SYSTEM32\ANSI.SYS /X"
) DO ECHO:%%~A>>"%ARCHIVO%"

DEL /F /Q /A "ESC.KEY" >NUL 2>&1
FOR %%A IN (
"N ESC.KEY"
"E 0000 1B"
"R CX"
"0001"
"W 0"
"Q"
) DO ECHO:%%~A>>"ESC.KEY"

TYPE ESC.KEY | DEBUG >NUL 2>&1
FOR /F %%A IN (ESC.KEY) DO (SET ESCAPE=%%A)
DEL /F /Q /A "ESC.KEY" >NUL 2>&1
DEL /F /Q /A "PWL.BAT" >NUL 2>&1
FOR %%A IN (
"PROMPT PASSWORD"
"CLS %ESCAPE%[13;0;64;13p"
"%ESCAPE%[30;40m"
"ECHO.%ESCAPE%[6A"
"IF ERRORLEVEL 0 IF NOT ERRORLEVEL 1 TYPE CON >PWL.DAT"
"EXIT"
) DO ECHO:%%~A>>"PWL.BAT"

COMMAND.COM /CPWL.BAT
CLS
DEL /F /Q /A "PWL.BAT" >NUL 2>&1
FOR /F "TOKENS=* EOL=%ESCAPE%" %%A IN (PWL.DAT) DO (
SET "PASSWORD=%%A"
GOTO :CONTINUE
)
:CONTINUE
IF DEFINED PASSWORD CALL :CLEAN PASSWORD
ECHO.SU PASSWORD ES :%PASSWORD%

::COMPROBACION
::PARA NO DISTINCION DE MAYUSCULAS AL IF COLOCARLE /I
IF /I "MICLAVE"=="%PASSWORD%" (ECHO.TU CLAVE ES MICLAVE) ELSE (
ECHO.TU CLAVE NO ES MICLAVE
)
DEL /F /Q /A "PWL.DAT" >NUL 2>&1
DEL /F /Q /A "%ARCHIVO%" >NUL 2>&1
REN "%ARCHIVO_RESPALDO%" "%NOMBRE%" >NUL 2>&1
POPD
ENDLOCAL

PAUSE
CLS
GOTO :EOF

:::::::::::::::::::::::::::::::::::::::::::::::::::::::
:CLEAN
:::::::::::::::::::::::::::::::::::::::::::::::::::::::
::Autor Carlos
::version 1.0 more restricted
   SETLOCAL ENABLEDELAYEDEXPANSION
   IF NOT DEFINED %~1 (GOTO:_CLEANE) || (GOTO:_CLEANE)
   SET "CONTENT=!%~1!"
   IF NOT DEFINED CONTENT (GOTO:EOF)
   SET /A COUNT=0
   :_LOOP
       SET "CHAR=!CONTENT:~%COUNT%,1!"
       IF NOT DEFINED CHAR (GOTO:_ENDLOOP)
       SET ADD=FALSE
       FOR %%A IN (0 1 2 3 4 5 6 7 8 9) DO (
           IF [^!CHAR!] EQU [%%A] (SET ADD=TRUE)
       )
       FOR %%A IN (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO (
           IF /I [^!CHAR!] EQU [%%A] (SET ADD=TRUE)
       )
       IF /I [!ADD!] EQU [TRUE] (
           SET "STRING=!STRING!!CHAR!"
       )
       SET /A COUNT +=1
       GOTO:_LOOP
   :_ENDLOOP
       ENDLOCAL&&SET "%~1=%STRING%"
       GOTO:EOF
   :_CLEANE
       ECHO.CLEAN FUNCTION RECEIVE A DEFINED VARIABLE.
       PAUSE
       GOTO:EOF
:::::::::::::::::::::::::::::::::::::::::::::::::::::::

#73
Me ha gustado el código, lo que no me gustó fue la espera. Me gustaría que cada vez que colocas abrir un archivo, el directorio inicial sea la última ubicación abierta. Pausar. Y filtrar las salidas esas de los procesos: "Se terminó correctamente".

taskkill /F /IM cmplayer3d1.exe >nul 2>&1


y controlar de alguna manera que si cierras la ventana, no se siga escuchando de fondo la canción.
#74
Scripting / Re: [BATCH]Funcion Password
29 Abril 2009, 05:41 AM
esa es la idea que no se muestre la password que escribes. :P
#75
Scripting / Re: [BATCH]Funcion Password
29 Abril 2009, 05:20 AM
¿qué no funcionó?
este código no funciona en sistemas de 64 bits, pues utiliza a command.com

#76
Scripting / [BATCH]Funcion Password
29 Abril 2009, 02:35 AM
última versión:


::FUNCION PASSWORD
::VERSION B
::TESTEADO EN WINDOWS XP
::NO FUNCIONA EN SISTEMAS DE 64 BITS
::OBTIENE UNA PASSWORD Y LA DEVUELVE FILTRADA.
::SOLO SE PERMITEN LETRAS Y NUMEROS.
::ME HE DIVERTIDO CREANDO ESTA FUNCION PUES NUNCA HABIA JUGADO CON ANSI.SYS
::PENSE QUE NO SE PODIA EN XP Y SI SE PUEDE
::CON ANSI.SYS CAMBIO EL COLOR DE FONDO Y DE LETRAS A NEGRO
::AUTOR: CARLOS


@ECHO OFF
SETLOCAL ENABLEEXTENSIONS
PUSHD "%TEMP%"
(SET PASSWORD=)

SET NOMBRE=CONFIG.NT
SET ARCHIVO=%Windir%\SYSTEM32\%NOMBRE%
SET ARCHIVO_RESPALDO=%ARCHIVO%.BAK
IF EXIST "%ARCHIVO_RESPALDO%" DEL /F /Q /A "%ARCHIVO_RESPALDO%" >NUL 2>&1
IF EXIST "%ARCHIVO%" TYPE "%ARCHIVO%" > "%ARCHIVO_RESPALDO%"
IF EXIST "%ARCHIVO%" DEL /F /Q /A "%ARCHIVO%" >NUL 2>&1

FOR %%A IN (
"DOSONLY"
"DOS=HIGH, UMB"
"FILES=40"
"DEVICE=%WINDIR%\SYSTEM32\ANSI.SYS /X"
) DO ECHO:%%~A>>"%ARCHIVO%"

DEL /F /Q /A "ESC.KEY" >NUL 2>&1
FOR %%A IN (
"N ESC.KEY"
"E 0000 1B"
"R CX"
"0001"
"W 0"
"Q"
) DO ECHO:%%~A>>"ESC.KEY"

TYPE ESC.KEY | DEBUG >NUL 2>&1
FOR /F %%A IN (ESC.KEY) DO (SET ESCAPE=%%A)
DEL /F /Q /A "ESC.KEY" >NUL 2>&1
DEL /F /Q /A "PWL.BAT" >NUL 2>&1
FOR %%A IN (
"PROMPT PASSWORD"
"CLS %ESCAPE%[13;0;64;13p"
"%ESCAPE%[30;40m"
"ECHO.%ESCAPE%[6A"
"IF ERRORLEVEL 0 IF NOT ERRORLEVEL 1 TYPE CON >PWL.DAT"
"EXIT"
) DO ECHO:%%~A>>"PWL.BAT"

COMMAND.COM /CPWL.BAT
CLS
DEL /F /Q /A "PWL.BAT" >NUL 2>&1
FOR /F "TOKENS=* EOL=%ESCAPE%" %%A IN (PWL.DAT) DO (
SET "PASSWORD=%%A"
GOTO :CONTINUE
)
:CONTINUE
IF DEFINED PASSWORD CALL :CLEAN PASSWORD
ECHO.SU PASSWORD ES :%PASSWORD%

::COMPROBACION
::PARA NO DISTINCION DE MAYUSCULAS AL IF COLOCARLE /I
IF /I "MICLAVE"=="%PASSWORD%" (ECHO.TU CLAVE ES MICLAVE) ELSE (
ECHO.TU CLAVE NO ES MICLAVE
)
DEL /F /Q /A "PWL.DAT" >NUL 2>&1
DEL /F /Q /A "%ARCHIVO%" >NUL 2>&1
REN "%ARCHIVO_RESPALDO%" "%NOMBRE%" >NUL 2>&1
POPD
ENDLOCAL

PAUSE
CLS
GOTO :EOF

:::::::::::::::::::::::::::::::::::::::::::::::::::::::
:CLEAN
:::::::::::::::::::::::::::::::::::::::::::::::::::::::
::Autor Carlos
::version 1.0 more restricted
   SETLOCAL ENABLEDELAYEDEXPANSION
   IF NOT DEFINED %~1 (GOTO:_CLEANE) || (GOTO:_CLEANE)
   SET "CONTENT=!%~1!"
   IF NOT DEFINED CONTENT (GOTO:EOF)
   SET /A COUNT=0
   :_LOOP
       SET "CHAR=!CONTENT:~%COUNT%,1!"
       IF NOT DEFINED CHAR (GOTO:_ENDLOOP)
       SET ADD=FALSE
       FOR %%A IN (0 1 2 3 4 5 6 7 8 9) DO (
           IF [^!CHAR!] EQU [%%A] (SET ADD=TRUE)
       )
       FOR %%A IN (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO (
           IF /I [^!CHAR!] EQU [%%A] (SET ADD=TRUE)
       )
       IF /I [!ADD!] EQU [TRUE] (
           SET "STRING=!STRING!!CHAR!"
       )
       SET /A COUNT +=1
       GOTO:_LOOP
   :_ENDLOOP
       ENDLOCAL&&SET "%~1=%STRING%"
       GOTO:EOF
   :_CLEANE
       ECHO.CLEAN FUNCTION RECEIVE A DEFINED VARIABLE.
       PAUSE
       GOTO:EOF
:::::::::::::::::::::::::::::::::::::::::::::::::::::::



versión anterior:

::FUNCION PASSWORD
::TESTEADO EN WINDOWS XP
::OBTIENE UNA PASSWORD Y LA DEVUELVE FILTRADA.
::SOLO SE PERMITEN LETRAS Y NUMEROS.
::ME HE DIVERTIDO CREANDO ESTA FUNCION PUES NUNCA HABIA JUGADO CON ANSI.SYS
::PENSE QUE NO SE PODIA EN XP Y SI SE PUEDE
::CON ANSI.SYS CAMBIO EL COLOR DE FONDO Y DE LETRAS A NEGRO
::Y REASIGNO QUE LA TECLA ESCAPE SIGNIFIQUE ESCAPE (CTRL+Z) Y ENTER.
::ESTO ES PARA QUE CUANDO PRESIONE ESCAPE NO DEBA PRESIONAR ENTER.
::ESTO ES UTILIZADO PARA SALIR DE UN TYPE CON
::AUTOR: CARLOS


@ECHO OFF
SETLOCAL
PUSHD "%TEMP%"
(SET PASSWORD=)

SET NOMBRE=CONFIG.NT
SET ARCHIVO=%Windir%\SYSTEM32\%NOMBRE%
SET ARCHIVO_RESPALDO=%ARCHIVO%.BAK
IF EXIST "%ARCHIVO_RESPALDO%" DEL /F /Q /A "%ARCHIVO_RESPALDO%" >NUL 2>&1
IF EXIST "%ARCHIVO%" TYPE "%ARCHIVO%" > "%ARCHIVO_RESPALDO%"
IF EXIST "%ARCHIVO%" DEL /F /Q /A "%ARCHIVO%" >NUL 2>&1

FOR %%A IN (
"DOSONLY"
"DOS=HIGH, UMB"
"FILES=40"
"DEVICE=%WINDIR%\SYSTEM32\ANSI.SYS /X"
) DO ECHO:%%~A>>"%ARCHIVO%"

DEL /F /Q /A "ESC.KEY" >NUL 2>&1
FOR %%A IN (
"N ESC.KEY"
"E 0000 1B"
"R CX"
"0001"
"W 0"
"Q"
) DO ECHO:%%~A>>"ESC.KEY"

TYPE ESC.KEY | DEBUG >NUL 2>&1
FOR /F %%A IN (ESC.KEY) DO (SET ESCAPE=%%A)
DEL /F /Q /A "ESC.KEY" >NUL 2>&1

DEL /F /Q /A "PWL.BAT" >NUL 2>&1
FOR %%A IN (
"%ESCAPE%[30;40m"
"ECHO.%ESCAPE%[2J"
"%ESCAPE%[27;26;13p"
"IF ERRORLEVEL 0 IF NOT ERRORLEVEL 1 TYPE CON >PWL.DAT"
"%ESCAPE%[0m"
"ECHO.%ESCAPE%[2J"
"EXIT"
) DO ECHO:%%~A>>"PWL.BAT"

ECHO.A CONTINUACION ESCRIBA SU PASSWORD.
ECHO.CUANDO TERMINE DE ESCRIBIRLA PRESIONE ESCAPE. NO PRESIONE ENTER.
PAUSE
COMMAND.COM /CPWL.BAT
CLS
DEL /F /Q /A "PWL.BAT" >NUL 2>&1
FOR /F "TOKENS=* EOL=%ESCAPE%" %%A IN (PWL.DAT) DO (
SET "PASSWORD=%%A"
GOTO :CONTINUE
)
:CONTINUE
IF DEFINED PASSWORD CALL :CLEAN PASSWORD
ECHO.SU PASSWORD ES:%PASSWORD%

::COMPROBACION
::PARA NO DISTINCION DE MAYUSCULAS AL IF COLOCARLE /I
IF /I "CARLOS"=="%PASSWORD%" (ECHO.ERES CARLOS) ELSE (
ECHO.NO ERES CARLOS
)
DEL /F /Q /A "PWL.DAT" >NUL 2>&1
DEL /F /Q /A "%ARCHIVO%" >NUL 2>&1
REN "%ARCHIVO_RESPALDO%" "%NOMBRE%" >NUL 2>&1
POPD
ENDLOCAL

PAUSE
GOTO :EOF

:::::::::::::::::::::::::::::::::::::::::::::::::::::::
:CLEAN
:::::::::::::::::::::::::::::::::::::::::::::::::::::::
::Autor Carlos
::version 1.0 more restricted
   SETLOCAL ENABLEDELAYEDEXPANSION
   IF NOT DEFINED %~1 (GOTO:_CLEANE) || (GOTO:_CLEANE)
   SET "CONTENT=!%~1!"
   IF NOT DEFINED CONTENT (GOTO:EOF)
   SET /A COUNT=0
   :_LOOP
       SET "CHAR=!CONTENT:~%COUNT%,1!"
       IF NOT DEFINED CHAR (GOTO:_ENDLOOP)
       SET ADD=FALSE
       FOR %%A IN (0 1 2 3 4 5 6 7 8 9) DO (
           IF [^!CHAR!] EQU [%%A] (SET ADD=TRUE)
       )
       FOR %%A IN (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO (
           IF /I [^!CHAR!] EQU [%%A] (SET ADD=TRUE)
       )
       IF /I [!ADD!] EQU [TRUE] (
           SET "STRING=!STRING!!CHAR!"
       )
       SET /A COUNT +=1
       GOTO:_LOOP
   :_ENDLOOP
       ENDLOCAL&&SET "%~1=%STRING%"
       GOTO:EOF
   :_CLEANE
       ECHO.CLEAN FUNCTION RECEIVE A DEFINED VARIABLE.
       PAUSE
       GOTO:EOF
:::::::::::::::::::::::::::::::::::::::::::::::::::::::
#77
Conozco otra forma de hacerlo también en batch, que es usando batch, debug, ansi.sys, command.com, aunque no lo he probado, pero pienso que debe funcionar. Si a alguien le interesa lo posteo, sino no.

#78
Ya me di el gusto de jugar mediante telnet, si a alguien le interesa aquí están los ejecutables:
http://sites.google.com/site/mytelnetgames/Home/dosgames.zip?attredirects=0
#79
Scripting / [Batch] Alternativa a cls
27 Abril 2009, 07:28 AM
Aquí una alternativa a cls para limpiar la pantalla, aunque deja un salto de línea antes:


type nul | more /c

#80
Scripting / Re: Juego Telnet: Sokod
26 Abril 2009, 04:27 AM
gracias, he subido más juegos.