Test Foro de elhacker.net SMF 2.1

Programación => Scripting => Mensaje iniciado por: tmb90 en 6 Diciembre 2012, 06:04 AM

Título: 1
Publicado por: tmb90 en 6 Diciembre 2012, 06:04 AM
1
Título: Re: Simulador de SO [Batch]
Publicado por: r7pyrred en 6 Diciembre 2012, 15:20 PM
y que utilidad tiene xD ,y como cuantos kb pesa
Título: Re: Simulador de SO [Batch]
Publicado por: Segadorfelix en 6 Diciembre 2012, 16:35 PM
Cita de: r7pyrred en  6 Diciembre 2012, 15:20 PM
y que utilidad tiene xD ,y como cuantos kb pesa
Es  un archivo por lotes ejecutables(batch XD) que da la apariencia de un sistema operativo, dentro del sistema operativo original(windows); resumiendo es un batch que parece un SO y que tiene varias funciones de este pero dentro de otro SO(windows).

PD: ;-) tmb90 excelente idea, ojala acabes rápido el SO  ;D .

EDITO: Digo emulador simulador de SO XD.
Título: Re: Simulador de SO [Batch]
Publicado por: 79137913 en 6 Diciembre 2012, 19:23 PM
HOLA!!!

Cita de: Segadorfelix en  6 Diciembre 2012, 16:35 PM
EDITO: Digo emulador de SO XD

NO!

Eso seria un SIMULADOR de Sistema Operativo NO un emulador.

GRACIAS POR LEER!!!
Título: Re: Simulador de SO [Batch]
Publicado por: Segadorfelix en 6 Diciembre 2012, 21:54 PM
79137913, ok  :-\
Título: Re: Simulador de SO [Batch]
Publicado por: Fantasma Errante en 6 Diciembre 2012, 22:20 PM
tmb90 Muy bueno le echare un (http://www.gifandgif.es/gifs_animados/Ojos/index.php#link)
La verdad que te lo "curraste" tmb90 yo usare ese SIMULADOR para que se haga mas "inteligente" IA.
GRACIAS!!
Título: 1
Publicado por: tmb90 en 7 Diciembre 2012, 07:01 AM
1.
Título: Re: Simulador de SO [Batch]
Publicado por: Eleкtro en 7 Diciembre 2012, 20:46 PM
Conociendo la poca movilidad que aporta Batch, creo que esperaré a que lanzes la versión "Batch++ OS" xD

Tengo ganas de ver los dos proyectos, gracias de antemano por compartirlos.

Saludos
Título: 1
Publicado por: tmb90 en 7 Diciembre 2012, 22:29 PM
1
Título: Re: Simulador de SO [Batch]
Publicado por: tmb90 en 9 Diciembre 2012, 08:52 AM
Diganme que tipo de programas quieren que tenga el SO, recuerden que tienen que ser sencillos nada muy complicado, porque como ya han dicho BATCH no tiene mucha movilidad.
Título: Re: Simulador de SO [Batch]
Publicado por: Segadorfelix en 9 Diciembre 2012, 17:46 PM
-Un Notepad.
-La opción de poder activar juegos(batch).
-Al menos tres juegos por defecto.
-Fondo de pantalla.
-Visualizador de archivos.
-Reproductor de música(con vbs se puede)
-Poder ejecutar un bat sin que este salga de SO-batch(Por ejemplo ejecutas un bat que al finalizar sale de la consola por defecto, pero que en el SO-batch no pase esto)
-Poder prender y apagar el SO-batch.

No se me ocurre mas.
Título: Re: Simulador de SO [Batch]
Publicado por: tmb90 en 9 Diciembre 2012, 22:18 PM
Muchas gracias, voy a hacer lo que pides, pero principalmente le echare un vistaso al reproductor de musica
Título: Re: Simulador de SO [Batch]
Publicado por: Segadorfelix en 9 Diciembre 2012, 23:35 PM
Este es un ejemplo(hecho por Smart Genius)
Código (dos) [Seleccionar]
@echo off
REM Coded by SmartGenius
REM Thanks to NovLucker
if ["%1"]==[""] (goto :Help)
if ["%1"]==["stop"] (call :stop &goto :eof)
if ["%1"]==["play"] (if not ["%~2"]==[""] (call :play "%~2" >nul)) else (goto :Help)
goto:eof

:play
echo Set Wmp = CreateObject("WMPlayer.OCX") >%temp%\player.vbs
echo archivo = Wscript.Arguments.Item(0) >>%temp%\player.vbs
echo Wmp.URL = (archivo) >>%temp%\player.vbs
echo Wmp.Controls.play >>%temp%\player.vbs
echo do while Wmp.currentmedia.duration = 0 >>%temp%\player.vbs
echo wscript.sleep 100 >>%temp%\player.vbs
echo loop >>%temp%\player.vbs
echo wscript.sleep (int(Wmp.currentmedia.duration)+1)*1000 >>%temp%\player.vbs
start %temp%\player.vbs %1
goto :eof

:stop
taskkill /f /im wscript.exe > nul
del /f /q %temp%\player.vbs
goto :eof

:Help
echo.
echo Modo de uso :
echo.
echo %~0 [play ^| stop] "ruta de archivo"
echo.
echo player play "C:\archivo.mp3"
echo player stop
echo.
goto:eof
Título: 1
Publicado por: tmb90 en 10 Diciembre 2012, 01:43 AM
1
Título: 1
Publicado por: tmb90 en 15 Diciembre 2012, 04:08 AM
1
Título: Re: Simulador de SO [Batch]
Publicado por: Segadorfelix en 15 Diciembre 2012, 04:36 AM
Descarga una distro liveCD de linux(recomiendo puppy linux), guardas el SO en la usb y después formateas.
Para meter una distro linux:http://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/

PD:Suerte con el problema.
Título: Re: Simulador de SO [Batch]
Publicado por: -- KiLiaN -- en 15 Diciembre 2012, 10:57 AM
Pero saca la información antes de formatear asi no pierdes nada y puedes continuar con este proyecto.
Título: Re: Simulador de SO [Batch]
Publicado por: Eleкtro en 15 Diciembre 2012, 20:06 PM
Yo no me preocuparía si se pierde,
La idea la sigues teniendo en la cabeza, ponla en práctica usando C como pretendías hacerlo en un principio,

PD: Porfavor no desviemos más el tema del problema de Windows :P
Título: Re: Adios SO
Publicado por: ~ en 15 Diciembre 2012, 20:28 PM
Cita de: tmb90 en 15 Diciembre 2012, 04:08 AM
Tengo una mala noticia, el sistema operativo que estaba haciendo en batch se fue.
Tuve un problema con windows (de hecho todavia lo tengo) y no me arranca la pc, por eso no puedo continuar haciendolo. Hay una gran posibilidad de que tenga que formatear la computadora porque todavia no pude reparar el problema.

Voy a hacer un post en la sección windows sobre el problema, si lo llego a solucionar espero poder conservar los datos del disco pero la cosa pinta mal.

Saludos
Esto debería poderse recuperar simplemente conectando el disco a otra PC, ya sea como disco interno o con un adaptador/case USB, y leerlo desde otro sistema Windows.

No debería ser difícil si no hay corrupción de la partición.
Título: Re: Simulador de SO [Batch]
Publicado por: Meine programmen en 16 Diciembre 2012, 20:53 PM
¿Sera de codigo abierto?
Título: Re: Simulador de SO [Batch]
Publicado por: Segadorfelix en 17 Diciembre 2012, 02:17 AM
Cita de: Meine programmen en 16 Diciembre 2012, 20:53 PM
¿Sera de codigo abierto?
¿Puppy?, si.
¿El programa de prendrivelinux?, si
Título: Re: Simulador de SO [Batch]
Publicado por: 79137913 en 17 Diciembre 2012, 15:23 PM
HOLA!!!

No creo que se te haya jodido el disco o el sistema de archivos, seguramente murio windows...

Agarra el rigido y enchufalo a otra pc (ademas de su disco que ya tenia) cuando inice el windows de la otra pc explora el nuevo disco que aparecio y recupera lo que quieras...

Ahi si formatea...

P.D: (si es que tenes el archivo y no era todo un montaje  :laugh: :laugh: :laugh:  >:D >:D)

GRACIAS POR LEER!!!
Título: Re: Simulador de SO [Batch]
Publicado por: Meine programmen en 17 Diciembre 2012, 15:38 PM
Cita de: Segadorfelix en 17 Diciembre 2012, 02:17 AM
¿Puppy?, si.
¿El programa de prendrivelinux?, si
A Batch OS me refiero
Título: Re: Simulador de SO [Batch]
Publicado por: Segadorfelix en 17 Diciembre 2012, 16:50 PM
Cita de: 79137913 en 17 Diciembre 2012, 15:23 PM
P.D: (si es que tenes el archivo y no era todo un montaje  :laugh: :laugh: :laugh:  >:D >:D)
;-)
Cita de: Meine programmen en 17 Diciembre 2012, 15:38 PM
A Batch OS me refiero
mmn, Si.
Título: Re: Simulador de SO [Batch]
Publicado por: Eleкtro en 17 Diciembre 2012, 17:26 PM
Cita de: YoPD: Porfavor no desviemos más el tema del problema de Windows :P

Ya basta, no daré más avisos para este post, entiendo que la intención es buena pero estamos en la sección de scripting, si quieren ayudarle con el problema del SO háganlo aquí > problema_con_la_reparacion_de_inicio_windows_7 (http://foro.elhacker.net/windows/problema_con_la_reparacion_de_inicio_windows_7-t378475.0.html)

No hagan más comentarios fuera de lugar porfavor.

Saludos  :P
Título: Re: Simulador de SO [Batch]
Publicado por: imlikeabird34 en 17 Diciembre 2012, 22:28 PM
buena propuesta la del SO en batch ,ejecuta un live cd y pasale el recuva para recuperar datos, saludos
Título: Re: Simulador de SO [Batch]
Publicado por: Eleкtro en 24 Diciembre 2012, 07:41 AM
El tema queda abierto de nuevo a petición personal,
Esto no quiera decir que vuelva a ser cerrado si empiezan a desvirtuar el tema hacia la recuperación de datos, estamos en scripting, respeten el tema.

Un saludo!
Título: Re: Simulador de SO [Batch]
Publicado por: Segadorfelix en 28 Diciembre 2012, 19:56 PM
El chat, ya esta terminado.
Los archivos por defecto siguen siendo mail.txt y mail.php
@echo off
Rem ChatBox 2.0 Segadorfelix
Rem Basado en el Chat de 3D1
IF ["%~1"]==[""] (Goto:HELP) else IF ["%~2"]==[""] (Goto:HELP)
set demonw=dem%random%
(mode|FIND "as")>%demonw%.ini
for /F "tokens=2" %%_ IN (%demonw%.ini) DO (set "Lineaws=%%_" & Goto:BREAK)
:BREAK
for /F "tokens=2 skip=1" %%_ IN (%demonw%.ini) DO (set "Columw=%%_")
del %demonw%.ini
IF %Lineaws% GEQ 300 set "Lineaws=25"
mode con cols=80 lines=25
set "VALUE=1"
Set "nick=%~2"
set "nick=%nick:<=%"
set "nick=%nick:>=%"
set "nick=%nick:"=%"
set "nick=%nick:(=%"
set "nick=%nick:)=%"
Set "server=%~1"
set "server=%server:<=%"
set "server=%server:>=%"
set "server=%server:"=%"
set "server=%server:(=%"
set "server=%server:)=%"
title ChatBox 2.0
cls
(
echo URLSend = wscript.arguments(0^)
echo MSG = wscript.arguments(1^)
echo Set SendMail = CreateObject("InternetExplorer.Application"^)
echo SendMail.Navigate URLSend ^& MSG
echo Do While SendMail.ReadyState ^<^> 4
echo wscript.sleep 50
echo Loop
)>"%tmp%\SendMail.vbs"
(
echo Set ReadMail = CreateObject("Microsoft.XMLHTTP"^)
echo URLRead = wscript.arguments(0^)
echo ReadMail.Open "Get", URLRead
echo ReadMail.Send
echo Do While ReadMail.ReadyState ^<^> 4
echo wscript.sleep 50
echo Loop
echo wscript.Echo ReadMail.ResponseText
)>"%tmp%\ReadMail.vbs"
set "Dir=%cd%\"
cd "%tmp%"
:Chat
cd %Dir%
set forum=Chat
Cls
echo.
echo.
echo.
echo.
echo NOTA:Escriba "Value(0)"(sin las comillas)para quitar la linea inferior.
echo y "Value(1)" para restaurarla.^|Para salir, escriba "[exit]"
echo.
echo              NICK: %nick%
echo    CONNECT SERVER: %server%
echo.
echo.
CScript //nologo %tmp%\ReadMail.vbs "%server%/mail.txt" 2>NUL
echo.
echo.
echo.
echo                   ÉÍÍÍÍÍÍÍ»
echo  Actualizar Chat: º ENTER º
echo                   ÈÍÍÍÍÍÍͼ
call:simwbols
Set /P "KIll=Escribe un mensaje:"
IF NOT DEFINED KILL Goto:Chat
IF /I ["%KILL%"]==["Value(0)"] set "VALUE=0" & Goto:Chat
IF /I ["%KILL%"]==["Value(1)"] set "VALUE=1" & Goto:Chat
IF /I ["%KILL%"]==["[exit]"] mode con cols=%columw% lines=%lineaws% & exit /B
set "KILL=%KILL:<=%"
set "KILL=%KILL:"=%"
set "KIL=%KILL:(=%"
set "KILL=%KILL:)=%"
Echo Sendding Message...
echo Please Wait...
Set /p"=> ..."<nul
CScript //nologo %tmp%\SendMail.vbs "%server%/mail.php?mail=" "%nick% Dice:"
CScript //nologo %tmp%\SendMail.vbs "%server%/mail.php?mail=" "%KILL%"
Goto:Chat
:::::::::::::::::::::::::::::::::
Rem cuarta linea
:simwbols
IF %VALUE% EQU 0 goto yesw
@(Echo.EB800:E60 "²"06
Echo.EB800:E62 "²"06
Echo.EB800:E64 "²"06
Echo.EB800:E66 "²"06
Echo.EB800:E68 "²"06
Echo.EB800:E6A "²"06
Echo.EB800:E6C "²"06
Echo.EB800:E6E "²"06
Echo.EB800:E70 "²"06
Echo.EB800:E72 "²"06
Echo.EB800:E74 "²"06
Echo.EB800:E76 "²"06
Echo.EB800:E78 "²"06
Echo.EB800:E7A "²"06
Echo.EB800:E7C "²"06
Echo.EB800:E7E "²"06
Echo.EB800:E80 "²"06
Echo.EB800:E82 "²"06
Echo.EB800:E84 "²"06
Echo.EB800:E86 "²"06
Echo.EB800:E88 "²"06
Echo.EB800:E8A "²"06
Echo.EB800:E8C "²"06
Echo.EB800:E8E "²"06
Echo.EB800:E90 "²"06
Echo.EB800:E92 "²"06
Echo.EB800:E94 "²"06
Echo.EB800:E96 "²"06
Echo.EB800:E98 "²"06
Echo.EB800:E9A "²"06
Echo.EB800:E9C "²"06
Echo.EB800:E9E "²"06
Echo.EB800:EA0 "²"06
Echo.EB800:EA2 "²"06
Echo.EB800:EA4 "²"06
Echo.EB800:EA6 "²"06
Echo.EB800:EA8 "²"06
Echo.EB800:EAA "²"06
Echo.EB800:EAC "²"06
Echo.EB800:EAE "²"06
Echo.EB800:EB0 "²"06
Echo.EB800:EB2 "²"06
Echo.EB800:EB4 "²"06
Echo.EB800:EB6 "²"06
Echo.EB800:EB8 "²"06
Echo.EB800:EBA "²"06
Echo.EB800:EBC "²"06
Echo.EB800:EBE "²"06
Echo.EB800:EC0 "²"06
Echo.EB800:EC2 "²"06
Echo.EB800:EC4 "²"06
Echo.EB800:EC6 "²"06
Echo.EB800:EC8 "²"06
Echo.EB800:ECA "²"06
Echo.EB800:ECC "²"06
Echo.EB800:ECE "²"06
Echo.EB800:ED0 "²"06
Echo.EB800:ED2 "²"06
Echo.EB800:ED4 "²"06
Echo.EB800:ED6 "²"06
Echo.EB800:ED8 "²"06
Echo.EB800:EDA "²"06
Echo.EB800:EDC "²"06
Echo.EB800:EDE "²"06
Echo.EB800:EE0 "²"06
Echo.EB800:EE2 "²"06
Echo.EB800:EE4 "²"06
Echo.EB800:EE6 "²"06
Echo.EB800:EE8 "²"06
Echo.EB800:EEA "²"06
Echo.EB800:EEC "²"06
Echo.EB800:EEE "²"06
Echo.EB800:EF0 "²"06
Echo.EB800:EF2 "²"06
Echo.EB800:EF4 "²"06
Echo.EB800:EF6 "²"06
Echo.EB800:EF8 "²"06
Echo.EB800:EFA "²"06
Echo.EB800:EFC "²"06
Echo.EB800:EFE "²"06
Echo.Q)|Debug>nul
:yesw
@(Echo.EB800:1E0 "²"06
Echo.EB800:1E2 "²"06
Echo.EB800:1E4 "²"06
Echo.EB800:1E6 "²"06
Echo.EB800:1E8 "²"06
Echo.EB800:1EA "²"06
Echo.EB800:1EC "²"06
Echo.EB800:1EE "²"06
Echo.EB800:1F0 "²"06
Echo.EB800:1F2 "²"06
Echo.EB800:1F4 "²"06
Echo.EB800:1F6 "²"06
Echo.EB800:1F8 "²"06
Echo.EB800:1FA "²"06
Echo.EB800:1FC "²"06
Echo.EB800:1FE "²"06
Echo.EB800:200 "²"06
Echo.EB800:202 "²"06
Echo.EB800:204 "²"06
Echo.EB800:206 "²"06
Echo.EB800:208 "²"06
Echo.EB800:20A "²"06
Echo.EB800:20C "²"06
Echo.EB800:20E "²"06
Echo.EB800:210 "²"06
Echo.EB800:212 "²"06
Echo.EB800:214 "²"06
Echo.EB800:216 "²"06
Echo.EB800:218 "²"06
Echo.EB800:21A "²"06
Echo.EB800:21C "²"06
Echo.EB800:21E "²"06
Echo.EB800:220 "²"06
Echo.EB800:222 "²"06
Echo.EB800:224 "²"06
Echo.EB800:226 "²"06
Echo.EB800:228 "²"06
Echo.EB800:22A "²"06
Echo.EB800:22C "²"06
Echo.EB800:22E "²"06
Echo.EB800:230 "²"06
Echo.EB800:232 "²"06
Echo.EB800:234 "²"06
Echo.EB800:236 "²"06
Echo.EB800:238 "²"06
Echo.EB800:23A "²"06
Echo.EB800:23C "²"06
Echo.EB800:23E "²"06
Echo.EB800:240 "²"06
Echo.EB800:242 "²"06
Echo.EB800:244 "²"06
Echo.EB800:246 "²"06
Echo.EB800:248 "²"06
Echo.EB800:24A "²"06
Echo.EB800:24C "²"06
Echo.EB800:24E "²"06
Echo.EB800:250 "²"06
Echo.EB800:252 "²"06
Echo.EB800:254 "²"06
Echo.EB800:256 "²"06
Echo.EB800:258 "²"06
Echo.EB800:25A "²"06
Echo.EB800:25C "²"06
Echo.EB800:25E "²"06
Echo.EB800:260 "²"06
Echo.EB800:262 "²"06
Echo.EB800:264 "²"06
Echo.EB800:266 "²"06
Echo.EB800:268 "²"06
Echo.EB800:26A "²"06
Echo.EB800:26C "²"06
Echo.EB800:26E "²"06
Echo.EB800:270 "²"06
Echo.EB800:272 "²"06
Echo.EB800:274 "²"06
Echo.EB800:276 "²"06
Echo.EB800:278 "²"06
Echo.EB800:27A "²"06
Echo.EB800:27C "²"06
Echo.EB800:27E "²"06
Echo.EB800:A0 "±"04
Echo.EB800:A2 "±"01
Echo.EB800:A4 "±"04
Echo.EB800:A6 "±"01
Echo.EB800:A8 "±"04
Echo.EB800:AA "±"01
Echo.EB800:AC "±"04
Echo.EB800:AE "±"01
Echo.EB800:B0 "±"04
Echo.EB800:B2 "±"01
Echo.EB800:B4 "±"04
Echo.EB800:B6 "±"01
Echo.EB800:B8 "±"04
Echo.EB800:BA "±"01
Echo.EB800:BC "±"04
Echo.EB800:BE "±"01
Echo.EB800:C0 "±"04
Echo.EB800:C2 "±"01
Echo.EB800:C4 "±"04
Echo.EB800:C6 "±"01
Echo.EB800:C8 "±"04
Echo.EB800:CA "±"01
Echo.EB800:CC "±"04
Echo.EB800:CE "C"2"h"2"a"2"t"2" "2"B"2"o"2"x"2" "2"2"2"."2"0"2" "2"B"2"Y"2" "2"S"2
Echo.EB800:F0 "e"2"g"2"a"2"d"2"o"2"r"2"f"2"e"2"l"2"i"2"x"02
Echo.EB800:106 "±"01
Echo.EB800:108 "±"04
Echo.EB800:10A "±"01
Echo.EB800:10C "±"04
Echo.EB800:10E "±"01
Echo.EB800:110 "±"04
Echo.EB800:112 "±"01
Echo.EB800:114 "±"04
Echo.EB800:116 "±"01
Echo.EB800:118 "±"04
Echo.EB800:11A "±"01
Echo.EB800:11C "±"04
Echo.EB800:11E "±"01
Echo.EB800:120 "±"04
Echo.EB800:122 "±"01
Echo.EB800:124 "±"04
Echo.EB800:126 "±"01
Echo.EB800:128 "±"04
Echo.EB800:12A "±"01
Echo.EB800:12C "±"04
Echo.EB800:12E "±"01
Echo.EB800:130 "±"04
Echo.EB800:132 "±"01
Echo.EB800:134 "±"04
Echo.EB800:136 "±"01
Echo.EB800:138 "±"04
Echo.EB800:13A "±"01
Echo.EB800:13C "±"04
Echo.EB800:13E "±"01
Echo.EB800:00 "±"04
Echo.EB800:02 "±"01
Echo.EB800:04 "±"04
Echo.EB800:06 "±"01
Echo.EB800:08 "±"04
Echo.EB800:A "±"01
Echo.EB800:C "±"04
Echo.EB800:E "±"01
Echo.EB800:10 "±"04
Echo.EB800:12 "±"01
Echo.EB800:14 "±"04
Echo.EB800:16 "±"01
Echo.EB800:18 "±"04
Echo.EB800:1A "±"01
Echo.EB800:1C "±"04
Echo.EB800:1E "±"01
Echo.EB800:20 "±"04
Echo.EB800:22 "±"01
Echo.EB800:24 "±"04
Echo.EB800:26 "±"01
Echo.EB800:28 "±"04
Echo.EB800:2A "±"01
Echo.EB800:2C "±"04
Echo.EB800:2E "±"01
Echo.EB800:30 "±"04
Echo.EB800:32 "±"01
Echo.EB800:34 "±"04
Echo.EB800:36 "±"01
Echo.EB800:38 "±"04
Echo.EB800:3A "±"01
Echo.EB800:3C "±"04
Echo.EB800:3E "±"01
Echo.EB800:40 "±"04
Echo.EB800:42 "±"01
Echo.EB800:44 "±"04
Echo.EB800:46 "±"01
Echo.EB800:48 "±"04
Echo.EB800:4A "±"01
Echo.EB800:4C "±"04
Echo.EB800:4E "±"01
Echo.EB800:50 "±"04
Echo.EB800:52 "±"01
Echo.EB800:54 "±"04
Echo.EB800:56 "±"01
Echo.EB800:58 "±"04
Echo.EB800:5A "±"01
Echo.EB800:5C "±"04
Echo.EB800:5E "±"01
Echo.EB800:60 "±"04
Echo.EB800:62 "±"01
Echo.EB800:64 "±"04
Echo.EB800:66 "±"01
Echo.EB800:68 "±"04
Echo.EB800:6A "±"01
Echo.EB800:6C "±"04
Echo.EB800:6E "±"01
Echo.EB800:70 "±"04
Echo.EB800:72 "±"01
Echo.EB800:74 "±"04
Echo.EB800:76 "±"01
Echo.EB800:78 "±"04
Echo.EB800:7A "±"01
Echo.EB800:7C "±"04
Echo.EB800:7E "±"01
Echo.EB800:80 "±"04
Echo.EB800:82 "±"01
Echo.EB800:84 "±"04
Echo.EB800:86 "±"01
Echo.EB800:88 "±"04
Echo.EB800:8A "±"01
Echo.EB800:8C "±"04
Echo.EB800:8E "±"01
Echo.EB800:90 "±"04
Echo.EB800:92 "±"01
Echo.EB800:94 "±"04
Echo.EB800:96 "±"01
Echo.EB800:98 "±"04
Echo.EB800:9A "±"01
Echo.EB800:9C "±"04
Echo.EB800:9E "±"01
Echo.Q)|Debug>nul
Goto:EOF
:HELP
Echo ChatBox 2.0 esta basado en el ChatBox de 3D1
Echo.
Echo Sintaxis: %0 [SERVIDOR] [NICK]
ECHO ejemplo: %0 Http://name.webcindario.com USUArio
echo.
echo Copyright 2012 ¸ segadorfelix
Exit /B

PD: Pendiente pantalla visual he interactiva para el SO del chat. Enciado a tmb90

SaluDoss
Título: Re: Simulador de SO [Batch]
Publicado por: Binary_Death en 31 Diciembre 2012, 04:39 AM
A ver... no es por desilusionar a nadie, que realmente lo odio, pero...

Por lo que veo eres bastante nuevo. Hasta hace unos meses tu nivel de batch era muy bajo y aunque batch es fácil de aprender, no lo es tanto aprender las diferentes formas de saltear sus limitaciones. Eso lleva un buen tiempo.
No sé cuánto habrás podido aprender, pero más vale que sea mucho si te quieres meter en un proyecto serio.

Además, si tienes el enorme conocimiento de hardware y programación necesario para programar un SO en C/C++, permíteme la pregunta, ¿qué diablos haces tonteanto de esta forma con batch?

Ahora pasemos a los problemas intrínsecos que plantea en sí tu proyecto.
Hablar de un SO en batch es una total tontería. Hay un programita en windows, no muy grande y bastante mal programado (como casi todo lo de mocosoft) llamado cmd.exe. Este programita, a cuya ejecución están asignados todos los ficheros con extensión .bat y .cmd, interpreta las líneas de tu script y trabaja con el SO (Windows) para llevarlas a cabo.
Si desde batch creas un fichero, será la cmd la encargada de llamar a la API.
http://msdn.microsoft.com/en-us/library/windows/desktop/aa363858(v=vs.85).aspx

Imagino que con esto ya te das cuenta de los errores de terminología.

Ahora, si quieres hacer una especie de máquina virtual, por ejemplo, para ejecutar scripts batch sin peligro para el resto del sistema, eso sí que lo veo más factible, aunque de todas formas igualmente no es fácil. Habría que procurar aislar en apariencia totalmente ese script batch del sistema, y no digo que sea imposible, pero sí que bastante laborioso.
¿Formas? Desde tu "Batch Virtualbox" podrías ver los comandos que tiene el script a ejecutar y los cambios que podría hacer en Windows. Ver la condición del sistema en ese momento y más tarde, después de la ejecución del script, restaurarlos.
Esa tal vez sería la forma más sencilla.

En fin, como digo, no es mi intención desalentarte, pero por favor sé consciente de las cosas antes de querer hacer nada.
Título: 1
Publicado por: tmb90 en 4 Enero 2013, 06:36 AM
1
Título: Re: Simulador de SO [Batch]
Publicado por: Binary_Death en 4 Enero 2013, 07:26 AM
Pues hombre... lo saqué de aquí: http://foro.elhacker.net/scripting/error_con_el_comando_goto_msdos-t358617.0.html;msg1735378#msg1735378

El post es de abril de 2012, lo que significa que por ese entonces tú nivel de batch era muy, muy básico.

Mi intención no era ofenderte ni decirte lo que debías o no debías hacer, mi intención fue ayudarte a que no empezaras un proyecto grande sin considerar bien las cosas antes.

Ahora, allá tú. Yo ya me callo  :rolleyes:
Título: Re: Simulador de SO [Batch]
Publicado por: Eleкtro en 4 Enero 2013, 10:24 AM
Casi sería más fácil hacer un simulador de aviones en Batch xD

tmb90, dejando a un lado el nivel que tengas tanto de Batch como de C/C++/C# (el cual no voy a comentar), Binary_Death tiene razón en los dos cosas,
La primera es que aún no hemos visto ni siquiera una imagen del simulador, y la segunda es que simplemente con que tengas indicios de C ya es una locura que vayas a hacerlo en Batch.

Pero bueno, no es una tarea imposible, alguien ya hizo esto en otro foro:
(http://img207.imageshack.us/img207/7577/sshot1wl.png)

No tengo más imagenes y cuando me lo descargué no era compatible con mi Windows 7 (Creo que porque necesitaba mucho uso del Debug.exe) así que no sé como es "por dentro" ni si se le puede considerar un verdadero simulador de SO,
Pero si no recuerdo mal está todo hecho en Batch, menos las "extensiones" (llamemosle comandos externos) en C y Ruby (Alguna app mía xD), y algunos scripts en Batch.

Un saludo!
Título: Re: Simulador de SO [Batch]
Publicado por: xogeid46 en 5 Enero 2013, 14:45 PM
hola,
usando la función cecho de Binary Death pueden darle mas estilo a su  SSO. xD

@Echo Off
for %%x in (0,1,2,3,4,5,6,7,A,B,C,D,E,F) do (
for %%y in (0,1,2,3,4,5,6,7,A,B,C,D,E,F) do (
call:_echo "Color %%x%%y" %%x%%y
)
)
exit
:_echo
chdir "%temp%"
exit|cmd /k prompt $H>"%~1"
findstr /v /a:%~2 /r "^$" "%~1*" && ECHO+
del /f /q "%~1"
goto:eof

:P
Título: Re: Simulador de SO [Batch]
Publicado por: Binary_Death en 5 Enero 2013, 18:23 PM
Bueno, la función no es mía. La idea es vieja y muchísimos batch coders hicieron sus versiones, pero lo difícil era quitar esos : que aparecían al final. En mi versión lo conseguí con el carácter backspace y usando un poco de imaginación  :P

En fin, aunque yo para colorear scripts largos recomendaría más el uso de ANSI.SYS, que a diferencia del colored echo permite displayear (¿?) caracteres especiales. No es tan limitado como cecho. Eso sí, tiene de malo que no anda en Windows de 64 bits.

Para el que le interese el uso de ansi.sys, una vez hice una recopilación de toda la info que me encontré por la red:

Citar
               Uso de ANSI.SYS
            Recopilación de información.




   Cargar el controlador de dispositivo ANSI.SYS.

Añadir a CONFIG.NT la siguiente línea:

DEVICE=[Unidad:][Ruta]ANSI.SYS [/X] [/K] [/R]

Parámetros:

/X
Reasigna de forma independiente las teclas extendidas en teclados de
101 teclas.

/K
Hace que ANSI.SYS considere un teclado de 101 teclas como si fuera un
teclado de 84 teclas.

/R
Ajusta el desplazamiento de líneas para mejorar la legibilidad cuando se
utiliza ANSI.SYS con programas de lectura de pantalla.



   Manejo del Cursor:

<ESC>[xA
Desplaza el cursor hacia arriba X filas.
Si el cursor se haya en la primera fila, no surge efecto.
Si no se especifica el número de filas se asume 1.

<ESC>[xB
Desplaza el cursor hacia abajo X filas.
Si el cursor se haya en la última fila, no surge efecto.
Si no se especifica el número de filas se asume 1.

<ESC>[xC
Desplaza el cursor hacia la derecha X columnas.
Si el cursor se haya en la primera columna, no surge efecto.
Si no se especifica el número de columnas se asume 1.

<ESC>[xD
Desplaza el cursor hacia la izquierda X columnas.
Si el cursor se haya en la última columna, no surge efecto.
SI no se especifica el número de columnas se asume 1.

<ESC>[Y;X(f/H)
Desplaza el cursor a la fila Y, columna X.
Si no se especifica Y se asume 1.
Si no se especifica X se asume 1.

<ESC>[s
Guarda la posición actual del cursor.

<ESC>[u
Restaura la posición del cursor previamente guardada.


   Borrado de pantalla:

<ESC>[xJ
Borra la pantalla.
Si X vale 0, se borra desde la posición del cursor hasta el final de la pantalla.
Si X vale 1, se borra desde la posición del cursor hasta el principio de la pantalla.
Si X vale 2, se borra toda la pantalla.

<ESC>[xK
Borra la línea actual.
Si X vale 0, se borra desde la posición del cursor hasta el final de la línea.
Si X vale 1, se borra desde la posición del cursor hasta el principio de la línea.
Si X vale 2, se borra toda la línea.

   
   Atributos de texto:

<ESC>[<Atr>;...mTEXTO
Establece los atributos de texto.
Puede escribirse un texto en pantalla después del finalizador "m".
Los atributos son procesados secuencialmente.


Valores de <Atr> para propiedades de texto:

X=0   Desactiva todos los atributos.
X=1   Activa negrita.
X=4   Activa subrayado (monócromo).
x=5   Activa parpadeo.
X=7   Activa vídeo inverso.
X=8   Activa texto oculto.

Valores de <Atr> para color de texto:

Negro      Primer Plano X=30, Segundo Plano X=40.
Rojo      Primer Plano X=31, Segundo Plano X=41.
Verde      Primer Plano X=32, Segundo Plano X=42.
Amarillo   Primer Plano X=33, Segundo Plano X=43.
Azul      Primer Plano X=34, Segundo Plano X=44.
Magenta      Primer Plano X=35, Segundo Plano X=45.
Azul Verdoso   Primer Plano X=36, Segundo Plano X=46.
Blanco      Primer Plano X=37, Segundo Plano X=47.


Si no se especifica <Atr>, se asume 0.
Nota: Los atributos pueden combinarse, separados por punto y coma.


   Selección de modo gráfico:

<ESC>[=Xh
Establece el tamaño del búfer de vídeo o el modo de presentación.

Valores de X para el cambio:

X=0   40x25 B/N.
X=1   40x25 COLOR.
X=2   80x25 B/N.
X=3   80x25 COLOR.
X=4   320x200 COLOR (CGA).
X=5   320x200 B/N (CGA).
X=6   640x200 B/N (CGA).
X=7   TURN ON LINE WRAP (Habilitar ajuste de línea).
X=14   640x200 COLOR (EGA).
X=15   640x350 MONO (EGA 4 colores).
X=16   640x350 COLOR (EGA 16 colores).
X=17   640x480 COLOR (VGA 16 colores).
X=18   640x480 COLOR (VGA 256 colores).
X=19   320x200 COLOR (MCGA 256 colores).

Nota: Para deshabilitarlos usar el mismo valor que para habilitarlos
A excepción de LINE WRAP, en cuyo caso su deshabilitación procede de la siguiente manera:

<ESC>[=7l
TURN OFF LINE WRAP (Deshabilitar ajuste de línea, truncar).

Nota: Si el ajuste de línea está desactivado una línea mayor de 80 carácteres es truncada.

   Asignación de teclas:

<ESC>[<Key>;<Result...>p
Redefine el resultado de presionar una tecla.

Donde <Key>, será el número ASCII de la tecla a redefinir o bien el carácter mismo encerrado entre comillas dobles.
<Result>, será el número ASCII de la tecla como resultado de la redefinición o bien el carácter mismo encerrado entre comillas dobles.

Nota: pueden especificarse más de un carácter ASCII separados por punto y coma como resultado de una asignación, mas no como tecla a redefinir.

Ejemplo:

<ESC>[65;66;67p

Redefine el carácter ASCII 65, equivalente a la letra "A", como la sucesión de carácteres "66;67", equivalentes a "BC".
Esto es, redefine la tecla "A" para que cuando ésta sea presionada, en pantalla se escriba "BC".

En elhacker.net no la había posteado. Por ahí os sirve.

Y también hice esto:


@echo off
:_ansi.sys
mode con cols=80 lines=25
mem/c | find /i "ansi" 1>nul || ((
echo.device=%SystemRoot%\system32\ansi.sys /X
)>>%SystemRoot%\system32\config.nt
if "%~1" NEQ "1" (
start "" %0 1 & exit /b 0
) else (exit /b 1)
) 1>nul 2>&1
:_code


Función para añadir al comienzo de todos los scripts batch que usen ansi.sys.
La función intenta cargarlo en memoria añadiendo una línea al fichero config.nt. Si por la razón que fuera no pudiera hacerlo (no tiene permisos, por ejemplo), cierra el script. Si puede cargar correctamente el controlador de dispositivo reinicia el script y continúa su normal ejecución.

Bueno  ;D casi que el tema daba para un topic aparte pero espero que para Batch Games o Sistemas Operativos en Batch ( :silbar:) sirva ;)
Título: Re: Simulador de SO [Batch]
Publicado por: Segadorfelix en 5 Enero 2013, 21:07 PM
Binary_Death buen aporte, no encontraba nada sobre ANSI.sys (no se, si es uqe no hay nada, o no se buscar XD).

¿porque no funciona en Windows de 64 bits?
Título: Re: Simulador de SO [Batch]
Publicado por: imoen en 5 Enero 2013, 21:10 PM
Pq es una libreria de 16 bit y accede a direccioens de memoria muy concretas y windows no deja que se accedan a esas direcciones .

bs imoen
Título: Re: Simulador de SO [Batch]
Publicado por: Binary_Death en 5 Enero 2013, 23:22 PM
Windows de 32 bits emula un entorno 8086 donde es como si trabajaras en modo real con el procesador, y como si el sistema fuese monotarea. En verdad esto no es así, únicamente lo emula.
ANSI.SYS lo que hace es escribir directamente bytes en el segmento de pantalla que comienza en la dirección 0B800h.
Si estuviéramos en MS-DOS escribiríamos directamente en la pantalla, no hay restricciones. En Windows toma como el segmento de pantalla lo que es la consola de comandos, la cmd, y escribe ahí.

Cuando trabajas con debug, Segadorfelix, en realidad estás haciendo eso mismo, pero manualmente. Es por lo mismo que tampoco funciona debug en Windows de 64 bits, no emula un entorno en modo real y por tanto no deja acceder, como bien dijo imoen, a ciertas direcciones de memoria que están únicamente reservadas para el propio kernel.

Aquí dejo otro tutorial de hace tiempo para quien prefiera entender un poco más como funciona esto usando debug, aunque repito que es mucho más rápido, fácil y eficiente trabajar con ANSI.SYS  ;)

Citar
Gráficos con Debug en Batch

¿Qué es Debug?
Debug es un debugger,  un depurador de código ensamblador para 16 bits. Windows lo incorpora por defecto y puede ser usado desde el CMD.
En este manual se explica de forma sencilla como acceder al segmento de pantalla y poder manipular de una forma potente, sencilla y eficaz los gráficos. Útil para juegos o para darle una apariencia más profesional a los scripts.

El segmento de pantalla.

El segmento de pantalla es un pedazo de la memoria donde todas las computadoras que ejecutan DOS, almacenan sus caracteres junto con sus atributos correspondientes a la consola de comandos.
El citado segmento comienza en la dirección 0B800h.
Al escribir datos directamente en un desplazamiento sobre ese segmento, esos datos aparecerán en pantalla.

Posición.

En ese segmento una posición ocupa dos bytes. El primero contiene el carácter y el segundo los atributos de éste.
Trabajando en una consola de x80y25, como es por defecto, veríamos que toda la pantalla ocupa 4000 bytes.
Bien, sabiendo que cada fila ocupa 160 bytes y cada columna ocupa 2 bytes, no es muy difícil hallar la fórmula para calcular la posición donde insertar un carácter.
La fórmula es esta: fila*160+columna*2. Lo que, adaptándolo al plano cartesiano, quedaría así: x*2+y*160. Puesto que las columnas son el eje horizontal X y las filas el eje vertical Y.
Así pues, la coordenada x1y3, por ejemplo, aplicando la fórmula, quedaría así:

1*2+3*160 = 482D = 1E2H

Se ha transformado a hexadecimal ya que es el sistema de numeración empleado en el uso de memoria.

Aplicación a Batch.

Lo que nos interesa es poder usar este sistema para realizar gráficos en batch. Vamos a ver como.


(
Echo.EB800:1E2 "Û"A
Echo.q
)|Debug>nul


En ese código hemos escrito desde Debug en la posición EB800:1E2. Hemos escrito dos bytes, que son los mencionados al comienzo de este manual: el carácter a escribir (1º byte) y su atributo (2º byte).
El carácter se encierra entre comillas, y posteriormente le sigue su atributo, que es un color en hexadecimal.
El atributo puede contener dos números hexadecimales, que corresponden al color de fondo de la coordenada en cuestión y al color del carácter, respectivamente.
Por lo tanto, al escribir en el segmento de pantalla algo así:


EB800:1E2 "A"AF


Lo que hicimos fue escribir en x1y3 la letra "A"; darle un fondo verde brillante a la casilla y un color blanco brillante a la letra.

Esto es todo, tan sólo hay que usar el ingenio para conseguir realizar gráficos más complejos y automatizar el cálculo de coordenadas hexadecimales.

Un saludo =)
Título: Re: Simulador de SO [Batch]
Publicado por: xogeid46 en 5 Enero 2013, 23:54 PM
lastima lo del ansi.sys...
seria bueno que esto que estan haciendo sea compatible con los de 32 y 64, haci su trabajo no sea en vano, ya que cada vez hay mas gente que se cambia al 7, y la mayoria es 64.
:P