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 - DA KILLER

#71
OK el filtro de xassiz me ayudo con los caracteres reservados, pero sigue sin tomarme el if not defined, apenas lo solucione lo posteo completo y corregido.
#72
Ah OK, me faltaban los paréntesis, luego leo el otro tutorial, y me gustaría que me aclares lo del comando "~% dp0"

Gracias y saludos.
#73
:$ sip, se me pasó por escribir rápido, gracias Leo.

Ya está arreglado.
#74
Miren el codigo sería algo así:


@echo off
title ERROR CON LAS VARIABLES
echo  -= Inserte "KILLER" =-
echo.
Set/p test=
if %test%==KILLER (goto OK) else (goto wrong)
if %test% not defined goto ERROR
:error
cls
echo No insertaste texto, vuelve a intentarlo.
pause >nul
cls
goto menu
:OK
cls
echo OK, Lo hiciste bien
pause >nul
exit

:wrong
cls
echo No insertaste KILLER
pause >nul
cls
goto menu


Los errores están más arriba

PD: Casi me olvido, por si influye trabajo con DOS v 5.1.2600 - Windows XP Profesional 2002 SP 2

De nuevo gracias por su tiempo
#75
Lo que tu dices es declarar una variable fija [EJ: set test==TEST]
Lo que yo digo son errores que causa el usuario cuando se le pide que ingrese un valor, y por error ingresa un símbolo de redireccionamiento.

Para que me entiendas copia este code:


@echo off
set ej==Texto de ejemplo
echo Lo que tu quieres hacer es dar un valor FIJO, como lo es la variable "ej":
echo.
echo %ej%
echo.
echo Lo que YO quiero hacer es pedir al usuario un valor, como en la variable "test":
echo.
set/p test=Introduzca un numero:
echo.
echo Ud. ha ingresado %test%
echo.
pause >nul


Ahora fijate que pasa si cuando te pide un numero tu pones cualquiera de estos símbolos: > < | &
O que pasa cuando insertas dos números separados por un espacio: 1 0

Si quieres ahorrar tiempo, el programa colapsa.

Por ello yo quiero que el usuario NO PUEDA utilizar dichos símbolos.
#76
Cita de: flony en 15 Mayo 2010, 18:18 PM
el primer problema es que pones set/p var=Escriba TEST: deberia ser echo escriba TEST para ingresar
set/p var=TEST

solo estaba mal declarada..el tema de los signos al no ser la variable ddeclarada lo envia a  wrong y listo

No me has entendido, ademas lo que va luego del igual es un texto sin valor, si tu te fijas al poner ese codigo te saldrá:

escriba TEST para ingresar
TEST

Y lo de los signos es que son caracteres de redireccionamiento lo que causa que el programa colapse.
#77
Ah me olvidaba, me podrían explicar como funciona el comando "~% dp0"

Gracias y saludos
#78
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:

@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"

if not defined %var% goto error

-> Sacar los "%"

if var not defined goto error
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)

set/p "var=Escriba TEST:"

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

set/p var=Escriba TEST: ^

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

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.



#79
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.
#80
Scripting / Re: Maldad.bat ¬¬?
16 Abril 2010, 00:18 AM
Cita de: Fran_Al en 14 Abril 2010, 11:36 AM
Con un simple .bat  en la actualidad, no infectas casi ni un ordenador sin antivirus  ;D ;D ;D
Para probar tus creaciones, hazte una maquina virtual, le instalas un sistema operativo, y corres el virus dentro de la maquina virtual. Asi podras ver los efectos sin que se modifique el sistema
si yo fuera tu, dejaria este lenguaje (es lo que hice, yo tambien empece asi) y me dedicaria a algo mas productivo, como por ejempl C+, visual basic...

salu2

Yo también pienso avanzar a C, VB y HTML, pero empezaré con esto y seguiré con Phyton primero.