Les dejo esta tontería que hice para que vean un poco como funciona ansi.sys y es otra manera de dibujar en la consola sin necesidad de debug
::by modubat
@echo off
SetLocal EnableExtensions
echo we recommend to do first a copy of config.nt & pause
0<nul more /c
:: make a backup of config.nt in temp folder
>nul Copy /Y "%windir%\System32\config.nt" "%tmp%\config.nt"
:: load ansi.sys
del /f /q "%windir%\System32\config.nt"
For %%a In (
"rem Ansi.sys loaded"
"DOSONLY"
"dos=high, umb"
"files=40"
"DEVICE=%WinDir%\System32\ANSI.SYS /x"
) Do >>"%WinDir%\System32\config.nt" Echo.%%~a 2>&1
command /c echo [1;40;36;1mFirst [1;40;31;1mnumber:
set/p "num1=>"
command /c echo [0;40;32;1mSecond [0;40;31;1mnumber:
set/p "num2=>"
set/a a=num1+num2,b=num1-num2,c=num1*num2,d=num1/num2
command /c echo [0;44;43;1mResults
command /c echo [0;44;32;1m%num1% + %num2% = %a%
command /c echo [0;44;37;1m%num1% - %num2% = %b%
command /c echo [0;44;45;1m%num1% * %num2% = %c%
command /c echo [0;44;47;1m%num1% / %num2% = %d%
:: check if ansi was loaded
Mem/c | Findstr.exe /I "ansi" >nul ^
|| Echo ANSI.SYS is not loaded
:: restore the config.nt file
Copy /Y "%tmp%\config.nt" "%windir%\System32\config.nt" 1>nul
For %%i in ("%temp%\Config.nt") do del /f /q %%~fi
EndLocal
Pause >nul
Exit
lo voy a leer...alguna explicacion, comentario, no se...algo mas detallado de para q sirve
Cita de: flony en 3 Septiembre 2010, 17:38 PM
lo voy a leer...alguna explicacion, comentario, no se...algo mas detallado de para q sirve
es un fichero que sirve para usar colores, posicionar el cursor en una posición, borrar lineas y redefinir teclas
hay que tenerlo cargado en el archivo config.nt con la linea DEVICE=%WinDir%\System32\ANSI.SYS /x
y usar el interprete command.com
los colores son faciles son 3 numeros que hacen referencia a atributos, color de letra y color de fondo
posicionar el ratón es simplemente [posicion x] [posicion y]
command /c echo [2;2H [1;31;40mPrueba
esto escribiría en la posicion 2,2 con intensidad alta color de letra rojo y de fondo negro la palabra Prueba
un enlace: http://academic.evergreen.edu/projects/biophysics/technotes/program/ansi_esc.htm
un ejemplo
:Ini
mode con cols=80 lines=25
set/a "token=%random% %% 25 + 1", cont+=1
For /F "Tokens=%token%" %%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 (
set "letra=%%~A")
set/a "x=%random% %% 25 + 1", "y=%random% %% 80 + 1", ^
"color=%random% %% 8 + 30"
command /c echo [%x%;%y%H [4;%color%;40m%letra%
ping localhost -n 2 >nul
if %cont% NEQ 20 goto :Ini