elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 [8] 9 10 11 12 13 14 15 16 17
71  Programación / Scripting / Re: [BATCH]Funcion Password en: 29 Abril 2009, 14:49 pm
gracias. El código que cambia el color de texto y de fondo a negro es:
Código:
"%ESCAPE%[30;40m"
pero requiere tener cargado ansi.sys y en xp ser ejecutado con command.com no con cmd.exe
72  Programación / Scripting / Re: [BATCH]Funcion Password en: 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.:

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  Programación / Scripting / Re: [Batch] CMD MEDIA PLAYER v1.1 by 3D1 (Reproductor de MP3, Wav, Mid) en: 29 Abril 2009, 07:15 am
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".
Código:
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  Programación / Scripting / Re: [BATCH]Funcion Password en: 29 Abril 2009, 05:41 am
esa es la idea que no se muestre la password que escribes. :P
75  Programación / Scripting / Re: [BATCH]Funcion Password en: 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  Programación / Scripting / [BATCH]Funcion Password en: 29 Abril 2009, 02:35 am
última versión:

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
:::::::::::::::::::::::::::::::::::::::::::::::::::::::


versión anterior:
Código:
::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  Programación / Scripting / Re: (Batch) Es Posible hacer password char en batch? (Pregunta) en: 28 Abril 2009, 13:07 pm
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  Programación / Scripting / Re: Juegos Telnet: Sokoban , Serp2 , Tic-Tac-Toe en: 27 Abril 2009, 19:07 pm
Ya me di el gusto de jugar mediante telnet, si a alguien le interesa aquí están los ejecutables:
Código:
http://sites.google.com/site/mytelnetgames/Home/dosgames.zip?attredirects=0
79  Programación / Scripting / [Batch] Alternativa a cls en: 27 Abril 2009, 07:28 am
Aquí una alternativa a cls para limpiar la pantalla, aunque deja un salto de línea antes:

Código:
type nul | more /c
80  Programación / Scripting / Re: Juego Telnet: Sokod en: 26 Abril 2009, 04:27 am
gracias, he subido más juegos.
Páginas: 1 2 3 4 5 6 7 [8] 9 10 11 12 13 14 15 16 17
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines