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

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


  Mostrar Temas
Páginas: [1] 2
1  Programación / Scripting / [BATCH] Evitar Bucle durante Redireccionamiento Fallido en: 10 Marzo 2012, 03:32 am
Saludos gente, en un script quiero enviar un fichero de texto plano al puerto COM1, pero al estar inhabilitado el programa sólo repite como loro:

"El sistema no puede escribir en el dispositivo especificado."

Ya sé que es lógico que falle si el puerto no tiene conexión, pero lo que quiero es que si falla me devuelva un código de error a los "X" intentos fallidos.

Lo que hice fue:

Código
  1. [...]
  2. TYPE %FILE%.TXT > COM1 && Exit /B 0 || TYPE %FILE%.TXT > COM2 && Exit /B 0
  3. [...]

Sé que la sintaxis está bien porque si cambio los comandos intenta ejecutar la primer instrucción, si es exitosa ejecuta la segunda, si falla en cualquiera de ellas pasa al OR ("||") intenta con la tercer instrucción y si es exitosa ejecuta la cuarta.

EDITO: Agrego que intenté con "if %errorlevel% NEQ 0" y tampoco funcionó :/

Otra cosa que ví hace mucho tiempo era la de redirigir la salida de los errores a otro destino, si no me equivoco era:

Código
  1. COOMANDO | FILTRO >nul 2>&1

Si bien sé que es para que no se vean los códigos de error no entiendo que es "2" y "&1", si me pueden decir bajo que palabras clave buscar más información sobre el tema se los voy a agradecer.

Saludos y desde ya, muchas gracias.

EDITO 2:

Bueno, intenté modificar un poco la línea y la sintaxis es correcta sin lugar a dudas, lo que falla es la conexión con el puerto COM ya que la siguiente línea:

Código
  1. TYPE *.TXT > TEST.TXT && Exit /B 0 || TYPE *.TXT > CON && Exit /B 0

Funciona perfectamente... y si trato de escribir sobre "COM" obtengo el mismo resultado que si quisiese redirigir a "NULL"  :¬¬

En fin lo que quiero evitar es que se repita el mensaje advirtiendo de la falla, saludos y gracias por leer!
2  Programación / Programación C/C++ / Error al definir array char en DEV-CPP en: 25 Febrero 2012, 05:14 am
Saludos gente, como andan, perdón por no pasar pero estoy muy ocupado, es más casi ni he programado últimamente, y al volver me encontré con una laguna:

¿Cómo hago para pasar el valor de un argumento pasado al programa a un array char (string)?

Utilizo el compilador DEV-CPP 4.9.9.2 (Me ví obligado a hacerlo :'()

No recuerdo si era con un puntero o como era, era algo parecido a pasar un pointer a un valor de una estructura (creo).

Dejo el source, no hay apuro puesto que sólo es algo que se me dío por hacer, pero no me acuerdo :$

Código
  1. #include <cstdlib>
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. void Cls();
  7.  
  8. int main(int argc, char *argv[])
  9. {
  10.  
  11.    int i, size;
  12.  
  13.    size = ((sizeof argv[1]) - 1);
  14.  
  15.    char current[size] = argv[1];
  16.  
  17.    i = 0;
  18.    // Animación del texto...
  19.    loop:
  20.    Cls(); // Para no utilizar system("Cls");
  21.    current[size] = current [0];
  22.    for ( i = 0; i < size; i++ )
  23.                               {
  24.                               cout << current[i];
  25.                               if (i != size)
  26.                                            { current[i]= current[i+1]; }
  27.                               }
  28.  
  29.    goto loop;
  30.  
  31. return 0; // En realidad nunca termina (por ahora)
  32. }
  33.  
  34. void Cls()
  35.  
  36. {
  37.     int i;
  38.     i = 0;
  39.     for ( i = 0; i < 2000; i++ )
  40.                                {cout << " ";}
  41. }
  42.  

Desde ya gracias y saludos a todos!

PD: Si saben de alguna alternativa más veloz y portable a mi void Cls(); les estaré doblemente agradecido, como siempre las críticas son bienvenidas, bytes!
3  Programación / Programación C/C++ / Consulta [C++] en: 29 Marzo 2011, 13:43 pm
Buenas, lamento molestar por esta pequeñez, pero es que no como buscarla en internet, creo que es un tipo de abstracción de datos, pero al buscarlo de dicha manera me salen las formas de armar estructuras, y por ahora estoy con lo básico.

Lo que yo deseo es tomar "x" caracteres de una variable, en este caso los dos primeros, pero la variable es de tipo int, no char y quería saber si se puede hacer de otra manera que no sea mediante un array en char.

Por si no se me entiende lo dejo en Batch

Código
  1. @REM Esto es lo que quisiera hacer en C/C++...
  2. @Echo Off
  3. Setlocal EnableExtensions EnableDelayedExpansion
  4. Color 0A
  5. :: Declaracion de Variables
  6. Set "var="
  7. Set "deseado="
  8. Echo.
  9. Set /P "var=Por favor ingrese un numero entero: "
  10. Set "deseado=!var:~0,2!
  11. Echo. Presione [Cualquier Tecla] para Salir...
  12. Pause >nul
  13. Exit /B %errorlevel%
  14.  

De nuevo disculpen las molestias y Desde Ya muchas Gracias.
4  Programación / ASM / Debugger del prompt de Windows 7 64 bits en: 23 Octubre 2010, 00:13 am
Buenas, lamento molestaros con algo tan simple, pero me topé con que no aparece el debug en la shell de windows 7 y no se como utilizarlo.

Noté que mediante los paréntesis aún se puede introducir el código, pero no me toma el filtro "debug".

¿Me podrían decir como puedo habilitarlo?, o si tan solo cambió de nombre.

Desde ya, muchas gracias, y perdón por las molestias.

Atte.- DA KILLER
5  Programación / Scripting / [BATCH] (JUEGO TA-TE-TI) en: 6 Septiembre 2010, 17:56 pm
JUEGO  " TA - TE - TI "

Bueno, primero agradecerle a 3D1 por compartir su script "mous" (http://foro.elhacker.net/scripting/manual_usar_mouse_en_batch-t260579.0.html) , ya que el juego se basa casi íntegramente en él.

Creo que el nombre lo dice todo, en fin, para los que no lo conocen es un juego en el cual gana el primer jugador en marcar una línea de 3 símbolos iguales, ya haya elegido "X" o "O", ya sea en forma vertical, horizontal o en diagonal.

Si quedan dudas, el código, al menos para mí, lo dice todo, pero ante cualquier duda me consultan.

Hay que pulir algunos detalles, sobretodo con la IA tan rudimentaria que se basa en la respuesta al último movimiento. Quiero aclarar que cuando hice esa parte del script pensé que no se podía anidar en batch.

        ERRORES :

  • El juego suele hacer trampas, como por ejemplo jugar dos veces o no terminar la partida
  • El "randomizer" es MUY MALO, lo reconozco, pero estoy buscando el randomizer de mi tetris xD

Lo hice esta misma mañana en el colegio, con el fin de demostrar los usos del debug en batch y particularmente del valor de poder utilizar el mouse, así que espero me puedan decir que aspectos hay que mejorar y como.

Bueno, como siempre, espero que les guste y espero sus críticas.

Código:
@Echo off
@title TA - TE - TI by .: THE KILLER :.
@color 0A
SETLOCAL ENABLEDELAYEDEXPANSION

::############################################################################################################
::# JUEGO REALIZADO CON PROPÓSITOS EDUCATIVOS A FIN DE ILUSTRAR LAS POSIBILIDADES DEL SCRIPT DE EDDY         #
::# ES COMPLETAMENTE FREEWARE SIEMPRE Y CUANDO RESPETEN LOS DERECHOS DE EDDY, ASI COMO MIS MENORES EDICIONES #
::############################################################################################################

(
echo e100 B8 1 0'3'DB CD'3'B0 3'C'CD'3'B DB't'FA 91 D3 EA D3 E8 91 C3
echo g116
echo q
)>Zmouse.txt

set "orig="

cls
Echo.
Echo. ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
Echo. ÛÛ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±ÛÛ
Echo. ÛÛ±±                                                                      ±±ÛÛ
Echo. ÛÛ±±               ÛÛÛÛÛ  ÛÛÛÛÛ  ÛÛÛÛÛ  ÛÛÛÛÛ  ÛÛÛÛÛ  ÛÛÛÛÛ               ±±ÛÛ
Echo. ÛÛ±±               Û      Û      Û      Û   Û  Û      Û                   ±±ÛÛ
Echo. ÛÛ±±               ÛÛÛ    ÛÛÛÛÛ  Û      Û   Û  Û  ÛÛ  ÛÛÛ                 ±±ÛÛ
Echo. ÛÛ±±               Û          Û  Û      Û   Û  Û   Û  Û                   ±±ÛÛ
Echo. ÛÛ±±               ÛÛÛÛÛ  ÛÛÛÛÛ  ÛÛÛÛÛ  ÛÛÛÛÛ  ÛÛÛÛÛ  ÛÛÛÛÛ               ±±ÛÛ
Echo. ÛÛ±±                                                                      ±±ÛÛ
Echo. ÛÛ±±                                                                      ±±ÛÛ
Echo. ÛÛ±±             Ú--------------¿            Ú--------------¿             ±±ÛÛ
Echo. ÛÛ±±             ^|   \      /   ^|            ^|   ÚÄÄÄÄÄÄ¿   ^|             ±±ÛÛ
Echo. ÛÛ±±             ^|    \    /    ^|            ^|   ³      ³   ^|             ±±ÛÛ
Echo. ÛÛ±±             ^|     \  /     ^|            ^|   ³      ³   ^|             ±±ÛÛ
Echo. ÛÛ±±             ^|      \/      ^|            ^|   ³      ³   ^|             ±±ÛÛ
Echo. ÛÛ±±             ^|      /\      ^|            ^|   ³      ³   ^|             ±±ÛÛ
Echo. ÛÛ±±             ^|     /  \     ^|            ^|   ³      ³   ^|             ±±ÛÛ
Echo. ÛÛ±±             ^|    /    \    ^|            ^|   ³      ³   ^|             ±±ÛÛ
Echo. ÛÛ±±             ^|   /      \   ^|            ^|   ÀÄÄÄÄÄÄÙ   ^|             ±±ÛÛ
Echo. ÛÛ±±             À--------------Ù            À--------------Ù             ±±ÛÛ
Echo. ÛÛ±±                                                                      ±±ÛÛ
Echo. ÛÛ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±ÛÛ
Echo. ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ

:bucle
if defined orig (goto:clear)
Del /Q /A ZDats>nul 2>&1
Debug< Zmouse.txt |Find /i "x">ZDats

Call:x
call:y
Call:Back

Call:mous "0012 0013 0014 0015 0016 0017 0018 0019 001A 001B 001C 001D 001E 001F 0020 0021" "%CX%" "000B 000C 000D 000E 000F 0010 0011 0012 0013 0014" "%DX%"
If %state% EQU OK (goto:OPTION_A)

Call:mous "002E 002F 0030 0031 0032 0033 0034 0035 0036 0037 0038 003A 003B 003C 003D" "%CX%" "000B 000C 000D 000E 000F 0010 0011 0012 0013 0014" "%DX%"
If %state% EQU OK (goto:OPTION_B)

Set /p= X:%CX% ::: Y:%DX%

Goto:bucle
 

:OPTION_A
Set "orig=X"
Goto:bucle

:OPTION_B
set "orig=O"
Goto:bucle


:: -- VARIABLES --
set "chc=!orig!"

:clear

set "comb=0"
set "chc=!orig!"
set "color=0A"
set "lstmv=PC"

set "1=False"
set "2=False"
set "3=False"
set "4=False"
set "5=False"
set "6=False"
set "7=False"
set "9=False"

set "1C=Empty"
set "2C=Empty"
set "3C=Empty"
set "4C=Empty"
set "5C=Empty"
set "6C=Empty"
set "7C=Empty"
set "8C=Empty"
set "9C=Empty"

set "1P="
set "2P="
set "3P="
set "4P="
set "5P="
set "6P="
set "7P="
set "8P="
set "9P="

cls

Echo.
Echo. ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
Echo. ÛÛ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±ÛÛ
Echo. ÛÛ±±                                               ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ±±ÛÛ
Echo. ÛÛ±±   ÛÛÛÛÛ ÛÛÛÛÛ                       ÚÄÄÄÄÄÄÄ¿ º     Ú¿            º ±±ÛÛ
Echo. ÛÛ±±     Û   Û   Û                       ³ SALIR ³ º      ³ ABLERO      º ±±ÛÛ
Echo. ÛÛ±±     Û   ÛÛÛÛÛ                       ÀÄÄÄÄÄÄÄÙ ÌÍÍÍÍÍÍËÍÍÍÍÍÍËÍÍÍÍÍ͹ ±±ÛÛ
Echo. ÛÛ±±     Û   Û   Û                                 º      º      º      º ±±ÛÛ
Echo. ÛÛ±±     Û   Û   Û                                 º      º      º      º ±±ÛÛ
Echo. ÛÛ±±                                               º      º      º      º ±±ÛÛ
Echo. ÛÛ±±                ÛÛÛÛÛ ÛÛÛÛÛ                    º      º      º      º ±±ÛÛ
Echo. ÛÛ±±                  Û   Û                        ÌÍÍÍÍÍÍÎÍÍÍÍÍÍÎÍÍÍÍÍ͹ ±±ÛÛ
Echo. ÛÛ±±                  Û   ÛÛÛ                      º      º      º      º ±±ÛÛ
Echo. ÛÛ±±                  Û   Û                        º      º      º      º ±±ÛÛ
Echo. ÛÛ±±                  Û   ÛÛÛÛÛ                    º      º      º      º ±±ÛÛ
Echo. ÛÛ±±                                               º      º      º      º ±±ÛÛ
Echo. ÛÛ±±                             ÛÛÛÛÛ ÛÛÛÛÛ       ÌÍÍÍÍÍÍÎÍÍÍÍÍÍÎÍÍÍÍÍ͹ ±±ÛÛ
Echo. ÛÛ±±                               Û     Û         º      º      º      º ±±ÛÛ
Echo. ÛÛ±±                               Û     Û         º      º      º      º ±±ÛÛ
Echo. ÛÛ±± ÚÄÄÄÄÄÄÄÄÄÄÄ¿                 Û     Û         º      º      º      º ±±ÛÛ
Echo. ÛÛ±± ³ REINICIAR ³                 Û   ÛÛÛÛÛ       º      º      º      º ±±ÛÛ
Echo. ÛÛ±± ÀÄÄÄÄÄÄÄÄÄÄÄÙ                                 ÈÍÍÍÍÍÍÊÍÍÍÍÍÍÊÍÍÍÍÍͼ ±±ÛÛ
Echo. ÛÛ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±ÛÛ
Echo. ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ

:LOOP

set "chc=!orig!"
set "color=0A"

Del /Q /A ZDats>nul 2>&1
Debug< Zmouse.txt |Find /i "x">ZDats

Call:x
call:y
Call:Back

if "!lstmv!" NEQ "PC" (Call:ANS)

Call:mous "0006 0007 0008 0009 000A 000B 000C 000D 000E 000F 0010 0011 0012" "%CX%" "0013 0014 0015" "%DX%"
If %state% EQU OK (goto:clear)

Call:mous "0035 0036 0037 0038 0039 003A" "%CX%" "0006 0007 0008 0009 000A" "%DX%"
If %state% EQU OK (set "lstmv=1"&&set "1=True"&&Call:1)

Call:mous "003C 003D 003E 003F 0040 0041" "%CX%" "0006 0007 0008 0009 000A" "%DX%"
If %state% EQU OK (set "lstmv=2"&&set "2=True"&&Call:2)

Call:mous "0043 0044 0045 0046 0047 0048" "%CX%" "0006 0007 0008 0009 000A" "%DX%"
If %state% EQU OK (set "lstmv=3"&&set "3=True"&&Call:3)

Call:mous "0035 0036 0037 0038 0039 003A" "%CX%" "000C 000D 000E 000F 0010" "%DX%"
If %state% EQU OK (set "lstmv=4"&&set "4=True"&&Call:4)

Call:mous "003C 003D 003E 003F 0040 0041" "%CX%" "000C 000D 000E 000F 0010" "%DX%"
If %state% EQU OK (set "lstmv=5"&&set "5=True"&&Call:5)

Call:mous "0043 0044 0045 0046 0047 0048" "%CX%" "000C 000D 000E 000F 0010" "%DX%"
If %state% EQU OK (set "lstmv=6"&&set "6=True"&&Call:6)

Call:mous "0035 0036 0037 0038 0039 003A" "%CX%" "0011 0012 0013 0014 0015" "%DX%"
If %state% EQU OK (set "lstmv=7"&&set "7=True"&&Call:7)

Call:mous "003C 003D 003E 003F 0040 0041" "%CX%" "0011 0012 0013 0014 0015" "%DX%"
If %state% EQU OK (set "lstmv=8"&&set "8=True"&&Call:8)

Call:mous "0043 0044 0045 0046 0047 0048" "%CX%" "0011 0012 0013 0014 0015" "%DX%"
If %state% EQU OK (set "lstmv=9"&&set "9=True"&&Call:9)

Call:mous "002A 002B 002C 002D 002E 002F 0030 0031 0032" "%CX%" "0004 0005 0006" "%DX%"
If %state% EQU OK (Goto:OUT)

Call:GAME

GOTO:LOOP

:X
Set /p LineCode=<ZDats
for /f "Tokens=3" %%_ in ('Type ZDats') do (
Set %%_
Goto:eof
)
 
:Y
Set /p LineCode=<ZDats
for /f "Tokens=4" %%_ in ('Type ZDats') do (
Set %%_
Goto:eof
)
 
:Back
for /f "tokens=*" %%a in ('ipconfig') do (
Set /p=%%a<nul
Goto :eof
)
 
:mous
Set DMous=%2
Set DMous=!DMous!%4
for %%m in (%~1) do (
for %%n in (%~3) do (
if !DMous! EQU "%%m""%%n" (
Set state=OK
Set CX=0000
Set DX=0000
Goto:eof
) ELSE (
Set state=NO
)
)
)
Goto:eof

:: -- GAME DATA --

:GAME

if defined 1P ( if defined 2P ( if defined 3P (if "!1P!"=="!2P!" ( if "!2P!"=="!3P!" (set "comb=1"&&Goto:Win)))))
if defined 1P ( if defined 4P ( if defined 7P (if "!1P!"=="!4P!" ( if "!4P!"=="!7P!" (set "comb=2"&&Goto:Win)))))
if defined 1P ( if defined 5P ( if defined 9P (if "!1P!"=="!5P!" ( if "!5P!"=="!9P!" (set "comb=3"&&Goto:Win)))))
if defined 2P ( if defined 5P ( if defined 8P (if "!2P!"=="!5P!" ( if "!5P!"=="!8P!" (set "comb=4"&&Goto:Win)))))
if defined 4P ( if defined 5P ( if defined 6P (if "!4P!"=="!5P!" ( if "!5P!"=="!6P!" (set "comb=5"&&Goto:Win)))))
if defined 3P ( if defined 5P ( if defined 7P (if "!3P!"=="!5P!" ( if "!5P!"=="!7P!" (set "comb=6"&&Goto:Win)))))
if defined 3P ( if defined 6P ( if defined 9P (if "!3P!"=="!6P!" ( if "!6P!"=="!9P!" (set "comb=7"&&Goto:Win)))))
if defined 7P ( if defined 8P ( if defined 9P (if "!7P!"=="!8P!" ( if "!8P!"=="!9P!" (set "comb=8"&&Goto:Win)))))

Goto:EOF

:Win

if "!comb!"=="0" (Goto:EOF)

if "!comb!"=="1" ( (
Echo. EB800:56A "Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E
Echo. Q
)|debug>nul )

if "!comb!"=="2" ( (
Echo. EB800:4D0 "³"0E
Echo. EB800:570 "³"0E
Echo. EB800:610 "³"0E
Echo. EB800:6B0 "³"0E
Echo. EB800:750 "³"0E
Echo. EB800:7F0 "³"0E
Echo. EB800:890 "³"0E
Echo. EB800:930 "³"0E
Echo. EB800:9D0 "³"0E
Echo. EB800:A70 "³"0E
Echo. EB800:B10 "³"0E
Echo. EB800:BB0 "³"0E
Echo. EB800:C50 "³"0E
Echo. EB800:CF0 "³"0E
Echo. Q
)|debug>nul )

if "!comb!"=="3" ( (
Echo. EB800:4D0 "\"0E
Echo. EB800:572 "\"0E
Echo. EB800:614 "\"0E
Echo. EB800:6B6 "\"0E
Echo. EB800:758 "\"0E
Echo. EB800:7FA "\"0E
Echo. EB800:89C "\"0E
Echo. EB800:93E "\"0E
Echo. EB800:9E0 "\"0E
Echo. EB800:A82 "\"0E
Echo. EB800:B24 "\"0E
Echo. EB800:BC6 "\"0E
Echo. EB800:C68 "\"0E
Echo. EB800:D0A "\"0E
Echo. Q
)|debug>nul )

if "!comb!"=="4" ( (
Echo. EB800:4DE "³"0E
Echo. EB800:57E "³"0E
Echo. EB800:61E "³"0E
Echo. EB800:6BE "³"0E
Echo. EB800:75E "³"0E
Echo. EB800:7FE "³"0E
Echo. EB800:89E "³"0E
Echo. EB800:93E "³"0E
Echo. EB800:9DE "³"0E
Echo. EB800:A7E "³"0E
Echo. EB800:B1E "³"0E
Echo. EB800:BBE "³"0E
Echo. EB800:C5E "³"0E
Echo. EB800:CFE "³"0E
Echo. Q
)|debug>nul )

if "!comb!"=="5" ( (
Echo. EB800:88A "Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E
Echo. EB800:8A4 "Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E
Echo.Q
)|debug>nul )

if "!comb!"=="6" ( (
Echo. EB800:4EC "/"0E
Echo. EB800:58A "/"0E
Echo. EB800:628 "/"0E
Echo. EB800:6C6 "/"0E
Echo. EB800:764 "/"0E
Echo. EB800:802 "/"0E
Echo. EB800:8A0 "/"0E
Echo. EB800:93E "/"0E
Echo. EB800:9DC "/"0E
Echo. EB800:A7A "/"0E
Echo. EB800:B18 "/"0E
Echo. EB800:BB6 "/"0E
Echo. EB800:C54 "/"0E
Echo. EB800:CF2 "/"0E
Echo. Q
)|debug>nul )

if "!comb!"=="7" ( (
Echo. EB800:4EC "³"0E
Echo. EB800:58C "³"0E
Echo. EB800:62C "³"0E
Echo. EB800:6CC "³"0E
Echo. EB800:76C "³"0E
Echo. EB800:80C "³"0E
Echo. EB800:8AC "³"0E
Echo. EB800:94C "³"0E
Echo. EB800:9EC "³"0E
Echo. EB800:A8C "³"0E
Echo. EB800:B2C "³"0E
Echo. EB800:BCC "³"0E
Echo. EB800:C6C "³"0E
Echo. EB800:D0C "³"0E
Echo. Q
)|debug>nul )
if "!comb!"=="8" ( (
Echo. EB800:BAA "Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E"Ä"0E
Echo.Q
)|debug>nul )

Goto:EOF

:ANS

if "!chc!"=="X" (set "chc=O") else (set "chc=X")

if "!lstmv!"=="0" (goto:eof)
if "!lstmv!"=="PC" (goto:eof)
set "lstmv=PC"
if "!lstmv!"=="1" (goto:ans1)
if "!lstmv!"=="2" (goto:ans2)
if "!lstmv!"=="3" (goto:ans3)
if "!lstmv!"=="4" (goto:ans4)
if "!lstmv!"=="5" (goto:ans5)
if "!lstmv!"=="6" (goto:ans6)
if "!lstmv!"=="7" (goto:ans7)
if "!lstmv!"=="8" (goto:ans8)
if "!lstmv!"=="9" (goto:ans9)


:ans1
set "color=0B"
if "!3!"=="True" (set "lstmv=PC"&&Call:2)
if "!2!"=="True" (set "lstmv=PC"&&Call:3)
if "!4!"=="True" (set "lstmv=PC"&&Call:7)
if "!7!"=="True" (set "lstmv=PC"&&Call:4)
if "!5!"=="True" (set "lstmv=PC"&&Call:9)
if "!9!"=="True" (set "lstmv=PC"&&Call:5)
goto:randomizer

:ans2
set "color=0B"
if "!1!"=="True" (set "lstmv=PC"&&Call:3)
if "!3!"=="True" (set "lstmv=PC"&&Call:1)
if "!5!"=="True" (set "lstmv=PC"&&Call:8)
if "!8!"=="True" (set "lstmv=PC"&&Call:5)
goto:randomizer

:ans3
set "color=0B"
if "!2!"=="True" (set "lstmv=PC"&&Call:1)
if "!1!"=="True" (set "lstmv=PC"&&Call:2)
if "!5!"=="True" (set "lstmv=PC"&&Call:7)
if "!7!"=="True" (set "lstmv=PC"&&Call:5)
goto:randomizer

:ans4
set "color=0B"
if "!1!"=="True" (set "lstmv=PC"&&Call:7)
if "!7!"=="True" (set "lstmv=PC"&&Call:1)
if "!5!"=="True" (set "lstmv=PC"&&Call:6)
if "!6!"=="True" (set "lstmv=PC"&&Call:5)
set "lstmv=PC"
goto:randomizer

:ans5
set "color=0B"
if "!1!"=="True" (set "lstmv=PC"&&Call:9)
if "!3!"=="True" (set "lstmv=PC"&&Call:7)
if "!9!"=="True" (set "lstmv=PC"&&Call:1)
if "!7!"=="True" (set "lstmv=PC"&&Call:3)
if "!2!"=="True" (set "lstmv=PC"&&Call:8)
if "!8!"=="True" (set "lstmv=PC"&&Call:2)
if "!4!"=="True" (set "lstmv=PC"&&Call:6)
if "!6!"=="True" (set "lstmv=PC"&&Call:4)
goto:randomizer

:ans6
set "color=0B"
if "!3!"=="True" (set "lstmv=PC"&&Call:9)
if "!9!"=="True" (set "lstmv=PC"&&Call:3)
if "!5!"=="True" (set "lstmv=PC"&&Call:4)
if "!4!"=="True" (set "lstmv=PC"&&Call:5)
goto:randomizer

:ans7
set "color=0B"
if "!1!"=="True" (set "lstmv=PC"&&Call:4)
if "!4!"=="True" (set "lstmv=PC"&&Call:1)
if "!5!"=="True" (set "lstmv=PC"&&Call:3)
if "!3!"=="True" (set "lstmv=PC"&&Call:5)
if "!8!"=="True" (set "lstmv=PC"&&Call:9)
if "!9!"=="True" (set "lstmv=PC"&&Call:8)
goto:randomizer

:ans8
set "color=0B"
if "!2!"=="True" (set "lstmv=PC"&&Call:5)
if "!5!"=="True" (set "lstmv=PC"&&Call:2)
if "!7!"=="True" (set "lstmv=PC"&&Call:9)
if "!9!"=="True" (set "lstmv=PC"&&Call:7)
goto:randomizer

:ans9
set "color=0B"
if "!1!"=="True" (set "lstmv=PC"&&Call:5)
if "!5!"=="True" (set "lstmv=PC"&&Call:1)
if "!6!"=="True" (set "lstmv=PC"&&Call:3)
if "!3!"=="True" (set "lstmv=PC"&&Call:6)
if "!8!"=="True" (set "lstmv=PC"&&Call:7)
if "!7!"=="True" (set "lstmv=PC"&&Call:8)
goto:randomizer

:1

if "!1C!"=="Fill" (goto:eof)


if "!chc!"=="X" ( (
Echo. EB800:4CA " "%color%"\"%color%" "%color%" "%color%"/"%color%" "%color%
Echo. EB800:56A " "%color%" "%color%"\"%color%"/"%color%" "%color%" "%color%
Echo. EB800:60A " "%color%" "%color%"/"%color%"\"%color%" "%color%" "%color%
Echo. EB800:6AA " "%color%"/"%color%" "%color%" "%color%"\"%color%" "%color%
Echo. Q
)|debug >nul ) else ( (
Echo. EB800:4CA " "%color%"Ú"%color%"Ä"%color%"Ä"%color%"¿"%color%" "%color%
Echo. EB800:56A " "%color%"³"%color%" "%color%" "%color%"³"%color%" "%color%
Echo. EB800:60A " "%color%"³"%color%" "%color%" "%color%"³"%color%" "%color%
Echo. EB800:6AA " "%color%"À"%color%"Ä"%color%"Ä"%color%"Ù"%color%" "%color%
Echo. Q
)|debug >nul )

set "1P=!chc!"
set "1C=Fill"

goto:eof

:2

if "!2C!"=="Fill" (goto:eof)

if "!chc!"=="X" ( (
Echo. EB800:4D8 " "%color%"\"%color%" "%color%" "%color%"/"%color%" "%color%
Echo. EB800:578 " "%color%" "%color%"\"%color%"/"%color%" "%color%" "%color%
Echo. EB800:618 " "%color%" "%color%"/"%color%"\"%color%" "%color%" "%color%
Echo. EB800:6B8 " "%color%"/"%color%" "%color%" "%color%"\"%color%" "%color%
Echo. Q
)|debug >nul ) else ( (
Echo. EB800:4D8 " "%color%"Ú"%color%"Ä"%color%"Ä"%color%"¿"%color%" "%color%
Echo. EB800:578 " "%color%"³"%color%" "%color%" "%color%"³"%color%" "%color%
Echo. EB800:618 " "%color%"³"%color%" "%color%" "%color%"³"%color%" "%color%
Echo. EB800:6B8 " "%color%"À"%color%"Ä"%color%"Ä"%color%"Ù"%color%" "%color%
Echo. Q
)|debug >nul )

set "2P=!chc!"
set "2C=Fill"

goto:eof

:3

if "!3C!"=="Fill" (goto:eof)


if "!chc!"=="X" ( (
Echo. EB800:4E6 " "%color%"\"%color%" "%color%" "%color%"/"%color%" "%color%
Echo. EB800:586 " "%color%" "%color%"\"%color%"/"%color%" "%color%" "%color%
Echo. EB800:626 " "%color%" "%color%"/"%color%"\"%color%" "%color%" "%color%
Echo. EB800:6C6 " "%color%"/"%color%" "%color%" "%color%"\"%color%" "%color%
Echo. Q
)|debug >nul ) else ( (
Echo. EB800:4E6 " "%color%"Ú"%color%"Ä"%color%"Ä"%color%"¿"%color%" "%color%
Echo. EB800:586 " "%color%"³"%color%" "%color%" "%color%"³"%color%" "%color%
Echo. EB800:626 " "%color%"³"%color%" "%color%" "%color%"³"%color%" "%color%
Echo. EB800:6C6 " "%color%"À"%color%"Ä"%color%"Ä"%color%"Ù"%color%" "%color%
Echo. Q
)|debug >nul )

set "3P=!chc!"
set "3C=Fill"

goto:eof

:4

if "!4C!"=="Fill" (goto:eof)


if "!chc!"=="X" ( (
Echo. EB800:7EA " "%color%"\"%color%" "%color%" "%color%"/"%color%" "%color%
Echo. EB800:88A " "%color%" "%color%"\"%color%"/"%color%" "%color%" "%color%
Echo. EB800:92A " "%color%" "%color%"/"%color%"\"%color%" "%color%" "%color%
Echo. EB800:9CA " "%color%"/"%color%" "%color%" "%color%"\"%color%" "%color%
Echo. Q
)|debug >nul ) else ( (
Echo. EB800:7EA " "%color%"Ú"%color%"Ä"%color%"Ä"%color%"¿"%color%" "%color%
Echo. EB800:88A " "%color%"³"%color%" "%color%" "%color%"³"%color%" "%color%
Echo. EB800:92A " "%color%"³"%color%" "%color%" "%color%"³"%color%" "%color%
Echo. EB800:9CA " "%color%"À"%color%"Ä"%color%"Ä"%color%"Ù"%color%" "%color%
Echo. Q
)|debug >nul )

set "4P=!chc!"
set "4C=Fill"

goto:eof

:5
if "!5C!"=="Fill" (goto:eof)


if "!chc!"=="X" ( (
Echo. EB800:7F8 " "%color%"\"%color%" "%color%" "%color%"/"%color%" "%color%
Echo. EB800:898 " "%color%" "%color%"\"%color%"/"%color%" "%color%" "%color%
Echo. EB800:938 " "%color%" "%color%"/"%color%"\"%color%" "%color%" "%color%
Echo. EB800:9D8 " "%color%"/"%color%" "%color%" "%color%"\"%color%" "%color%
Echo. Q
)|debug >nul ) else ( (
Echo. EB800:7F8 " "%color%"Ú"%color%"Ä"%color%"Ä"%color%"¿"%color%" "%color%
Echo. EB800:898 " "%color%"³"%color%" "%color%" "%color%"³"%color%" "%color%
Echo. EB800:938 " "%color%"³"%color%" "%color%" "%color%"³"%color%" "%color%
Echo. EB800:9D8 " "%color%"À"%color%"Ä"%color%"Ä"%color%"Ù"%color%" "%color%
Echo. Q
)|debug >nul )

set "5P=!chc!"
set "5C=Fill"

goto:eof

:6

if "!6C!"=="Fill" (goto:eof)


if "!chc!"=="X" ( (
Echo. EB800:806 " "%color%"\"%color%" "%color%" "%color%"/"%color%" "%color%
Echo. EB800:8A6 " "%color%" "%color%"\"%color%"/"%color%" "%color%" "%color%
Echo. EB800:946 " "%color%" "%color%"/"%color%"\"%color%" "%color%" "%color%
Echo. EB800:9E6 " "%color%"/"%color%" "%color%" "%color%"\"%color%" "%color%
Echo. Q
)|debug >nul ) else ( (
Echo. EB800:806 " "%color%"Ú"%color%"Ä"%color%"Ä"%color%"¿"%color%" "%color%
Echo. EB800:8A6 " "%color%"³"%color%" "%color%" "%color%"³"%color%" "%color%
Echo. EB800:946 " "%color%"³"%color%" "%color%" "%color%"³"%color%" "%color%
Echo. EB800:9E6 " "%color%"À"%color%"Ä"%color%"Ä"%color%"Ù"%color%" "%color%
Echo. Q
)|debug >nul )

set "6P=!chc!"
set "6C=Fill"

goto:eof

:7

if "!7C!"=="Fill" (goto:eof)


if "!chc!"=="X" ( (
Echo. EB800:B0A " "%color%"\"%color%" "%color%" "%color%"/"%color%" "%color%
Echo. EB800:BAA " "%color%" "%color%"\"%color%"/"%color%" "%color%" "%color%
Echo. EB800:C4A" "%color%" "%color%"/"%color%"\"%color%" "%color%" "%color%
Echo. EB800:CEA " "%color%"/"%color%" "%color%" "%color%"\"%color%" "%color%
Echo. Q
)|debug >nul ) else ( (
Echo. EB800:B0A " "%color%"Ú"%color%"Ä"%color%"Ä"%color%"¿"%color%" "%color%
Echo. EB800:BAA " "%color%"³"%color%" "%color%" "%color%"³"%color%" "%color%
Echo. EB800:C4A " "%color%"³"%color%" "%color%" "%color%"³"%color%" "%color%
Echo. EB800:CEA " "%color%"À"%color%"Ä"%color%"Ä"%color%"Ù"%color%" "%color%
Echo. Q
)|debug >nul )

set "7P=!chc!"
set "7C=Fill"

goto:eof

:8

if "!8C!"=="Fill" (goto:eof)


if "!chc!"=="X" ( (
Echo. EB800:B18 " "%color%"\"%color%" "%color%" "%color%"/"%color%" "%color%
Echo. EB800:BB8 " "%color%" "%color%"\"%color%"/"%color%" "%color%" "%color%
Echo. EB800:C58 " "%color%" "%color%"/"%color%"\"%color%" "%color%" "%color%
Echo. EB800:CF8 " "%color%"/"%color%" "%color%" "%color%"\"%color%" "%color%
Echo. Q
)|debug >nul ) else ( (
Echo. EB800:B18 " "%color%"Ú"%color%"Ä"%color%"Ä"%color%"¿"%color%" "%color%
Echo. EB800:BB8 " "%color%"³"%color%" "%color%" "%color%"³"%color%" "%color%
Echo. EB800:C58 " "%color%"³"%color%" "%color%" "%color%"³"%color%" "%color%
Echo. EB800:CF8 " "%color%"À"%color%"Ä"%color%"Ä"%color%"Ù"%color%" "%color%
Echo. Q
)|debug >nul )

set "8P=!chc!"
set "8C=Fill"

goto:eof

:9

if "!9C!"=="Fill" (goto:eof)


if "!chc!"=="X" ( (
Echo. EB800:B26 " "%color%"\"%color%" "%color%" "%color%"/"%color%" "%color%
Echo. EB800:BC6 " "%color%" "%color%"\"%color%"/"%color%" "%color%" "%color%
Echo. EB800:C66 " "%color%" "%color%"/"%color%"\"%color%" "%color%" "%color%
Echo. EB800:D06 " "%color%"/"%color%" "%color%" "%color%"\"%color%" "%color%
Echo. Q
)|debug >nul ) else ( (
Echo. EB800:B26 " "%color%"Ú"%color%"Ä"%color%"Ä"%color%"¿"%color%" "%color%
Echo. EB800:BC6 " "%color%"³"%color%" "%color%" "%color%"³"%color%" "%color%
Echo. EB800:C66 " "%color%"³"%color%" "%color%" "%color%"³"%color%" "%color%
Echo. EB800:D06 " "%color%"À"%color%"Ä"%color%"Ä"%color%"Ù"%color%" "%color%
Echo. Q
)|debug >nul )

set "9P=!chc!"
set "9C=Fill"

goto:eof

:randomizer

if "!5C!"=="Empty" (call:5&&goto:eof)
if "!9C!"=="Empty" (call:9&&goto:eof)
if "!3C!"=="Empty" (call:3&&goto:eof)
if "!6C!"=="Empty" (call:6&&goto:eof)
if "!8C!"=="Empty" (call:8&&goto:eof)
if "!1C!"=="Empty" (call:1&&goto:eof)
if "!7C!"=="Empty" (call:7&&goto:eof)
if "!2C!"=="Empty" (call:2&&goto:eof)
if "!4C!"=="Empty" (call:4&&goto:eof)

goto:eof

:OUT
Exit/b 0

Salu2.
6  Programación / Scripting / [Batch] Consulta (SOLUCIONADO) en: 19 Julio 2010, 16:47 pm
Buenas, me he quedado atorado en un problema y no se como abordarlo  :-[

Quiero que el batch busque una variable ingresada por el usuario en un archivo de texto., lo que no logro hacer es que el script busque EXACTAMENTE lo ingresado por el usuario, normalmente si uno ingresa un caracter el script devuelve todos los resultados con dicho caracter, lo que busco es que solo mostrase los resultados exactos, y en caso de no haber ninguno diera un mensaje de error, no se si es posible eso.

Desde ya, muchas gracias.
7  Sistemas Operativos / Windows / Ayuda con fallo del controlador del teclado [Windows 7] en: 11 Julio 2010, 18:18 pm
Hola, necesito ayuda con un pequeño problema, no se porque @#%$ no me toma la tecla [Ctrl] el teclado.

Además de a ratos toma mal las letras (Reemplaza una por otra EJ: al presionar la tecla "O" imprime el caracter "E", sin embargo al presionar la tecla "E" sigue imprimiendo el caracter "E").

Probé de actualizar el controlador(*), verifiqué el estado del periférico, examine la placa del teclado y procedí a limpiarlo, pero nada.

(*) Controladores: Teclados PS/2 estándar DRIVERS ver: "6.1.7600.16385" (i804prt.sys & kbdclass.sys ambos "win7_rtm.090713-1255")

Es la primera vez que utilizo 7, y pues no se si es un fallo que aún no han solucionado o si es un virus o algo.

No encuentro donde están los datos de la configuración del SO, si pudiesen indicarme como dárselos se los agradeceré mucho.

Desde Ya, muchas gracias.
8  Programación / Scripting / Insertar caracteres en una variable [Batch] (SOLUCIONADO) en: 1 Julio 2010, 02:43 am
Bueno gente lamento molestar con semejante tontería paro no encuentro la forma de insertar texto en una variable una "X" cantidad de veces, lo que quiero hacer es más o menos esto:

Código
  1. @echo off
  2. set sprst=10
  3. :loop
  4. if sprst==0 (goto:end)
  5. set/a "var1=%var1%+ "
  6. set/a "sprst=%sprst%-1"
  7. goto:loop
  8. :end
  9. echo %var1%

Es decir, que "var1" termine como una variable con 10 espacios, se que debe ser algo realmente sencillo pero no logro encontrarle la vuelta.

Desde ya gracias, saludos a todos  ;D
9  Programación / Scripting / [Batch] Problema con las variables [Solucionado] en: 15 Mayo 2010, 15:46 pm
Hola, me encuentro con dos pequeños problemas.

Primer Problema:

No encuentro que estoy haciendo mal al tratar de que cuando una variable no esta definida vaya a un label, en lugar de ello el batch colapsa.

Segundo Problema:

Me gustaría que cuando el usuario inserte el valor de una variable no pueda insertar determinados caracteres que conllevan al colapso del batch.

Dejo el code para que se entienda mejor:

Código:
@echo off
title EJEMPLO VARIANTES
:menu
set/p var=Escriba TEST:
if %var%==TEST (goto Ok) else (goto wrong)
if %var% not defined goto error

:error
echo Ud. no inserto texto alguno, por favor escriba TEST.
pause >nul
cls
goto menu

:wrong
echo ERROR UD. NO INSERTO TEST, por favor vuelva a intentarlo.
pause >nul
cls
goto menu

:Ok
echo OK, todo en orden.
pause >nul
cls
exit

El Primer Problema:

No se porque cuando le doy Enter a la primera vez, es decir sin definir %var% en lugar de ir a error se cierra el programa.

Probé de hacer lo siguiente:

-> Cambiar el orden del "if not defined"

Código:
if not defined %var% goto error

-> Sacar los "%"

Código:
if var not defined goto error
Código:
if not defined var goto error

Y ninguno me funcionó.

El Segundo Problema:

Mi intención es que si el usuario inserta alguno de los sig. caracteres el programa no colapse:

CARACTERES: & >< |

Así como si el usuario ingresa un espacio dentro del texto tampoco lo haga.

Para esto intente lo siguiente:

-> Poner comillas dobles en la variante (como cuando de trabaja con rutas)

Código:
set/p "var=Escriba TEST:" 

-> Poner "^" después del texto (como cuando se quiere ingresar caracteres reservados [EJ: ^&])

Código:
set/p var=Escriba TEST: ^

Así me devolvió: "if ==TEST (goto Ok) else (goto wrong)", y al insertar un caracter colapsó.

Código:
set/p "var=Escriba TEST: "^

Al hacer esto no me devolvió la cadena, pero igual colapsa.

Espero mi duda sea entendible.

Desde Ya gracias por su ayuda.



10  Programación / Programación General / Lenguajes de Programación, ¿C o Basic? en: 4 Mayo 2010, 04:05 am
Cuál lenguaje es mejor para programar?
Bueno, pues como dije voy a comenzar a programar seriamente y me encontré con esa duda existencial...

¿Qué lenguaje me recomiendan?

Obviamente todo mundo tiene su favorito, así que quisiera que me digan cuales son los pros y contras de cada uno.

Por otro lado quiero ver como me "calzan", por lo que quisiera ver un par de códigos, de momento no tengo tiempo para buscarlos a mano yo mismo ya que tengo bastante que hacer para mañana así que les iba a pedir que me den un ejemplo de ambos códigos para ver como funcionan, se que son bastante diferentes y que ambos tienen sus subdivisiones, y en mi caso pretendo a orientarme a un lenguaje que si bien me tarde 3 días en hacer un programa no tenga errores, y se ejecute rápidamente sin consumir memoria.

Me gustaría que me diesen un código para resolver este problema que tengo ahora para comparar uno con otro.

De momento quiero hacer un programa que ejecute el emulador DOSBox v0.73:

El programa se encuentra en:

F:\Program Files\DOSBox\DOSBox-0.73

Ejecute el archivo "Boxer.exe"

y al mismo le de click a un botón que dice "Run DOSBox"

En el proceso DOSBox se abren dos ventanas:

DOSBox Status Window & DOSBox 0.73, CPU (Nº de ciclos, frameskip y el nombre del proceso)

Yo quiero que el proceso presione 31 veces [Ctrl]+[F-12]

(Lo que setea los ciclos a 18000)

Y en la consola tipee:

C:
cd AITD2
cd ALONEI~1
aitd2.bat


Es algo bastante complejo, o al menos eso creo yo pero por ello es el código perfecto para ver cual me es más fácil, o si bien no me proporcionen el ejemplo me digan (basados en lo que les pido) cual lenguaje me conviene.

Desde ya les agradezco el haberse tomado la molestia de leer esto.

PD: Si quieren el DOSBox y el programa que configura el mismo se los dejo en mediafire:

http://www.mediafire.com/?jh2uizmzgky

De nuevo gracias y saludos a todos.
Páginas: [1] 2
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines