-> Programación BATCH Avanzada. (nuevo)

Iniciado por sirdarckcat, 24 Julio 2006, 10:01 AM

0 Miembros y 2 Visitantes están viendo este tema.

Luzbelitox

felicitaciones Sirdarckcat, tenia problemas con el for pero ya estoy entendiendo mejor..
gracias! y saludos!



Ture

creo que no me explique bien con el ejemplo sorry, lo que yo quiero hacer es en una variable string meter el resultado del output de un programa, ya sea el time, como el date o el ture.exe que me devuelve un numero aleatorio del 1 al 10

muchas gracias!!!

PD: lo estoy haciendo actualmente con la dll de cygwin y usando la potencia de  bash, pero me gustaría dejar un .bat limpito y no usar ese tipo de ñapas

saludos!

sirdarckcat

Puedes usar FOR..

FOR /F "" %%i IN ('time /T') DO set hola=%%i

Saludos!!

Ture

tio eres un crack! ;) muchísimas gracias, es cojonudo tu tuto

TxShack

Bueno, queria saber si me podriais ayudar con este batch

Lo que quiero es que se añada al registro run pero no consigo hacerlo... algo debo de acer malalgo.. pero no se que... ace muchisimo que no uso los batch, porq se me daban bien.. pero se me an olvidado cosas poco a poco y aora no me sale esto

El codigo que qiero q salga es este:

Citar
@echo off
:menu
echo.
echo INTRODUCIR CLAVE
echo.
set/p clave=
if %clave%==fark (goto bien) else goto :menu
:bien
cls
echo.
echo ACCESO VALIDADO
echo.
pause
exit

Lo e estado intentando varias veces pero no lo consigo... e provado esto.. poro no funciona

Citar@echo off
cd c:\
echo @echo off > pass.bat
echo :menu >> pass.bat
echo echo. >> pass.bat
echo INTRODUCIR CLAVE >> pass.bat
echo echo. >> pass.bat
echo set/p clave= >> pass.bat
echo if %clave%==fark (goto bien) else goto :menu >> pass.bat
echo :bien >> pass.bat
echo cls >> pass.bat
echo echo. >> pass.bat
echo echo ACCESO VALIDADO >> pass.bat
echo echo. >> pass.bat
echo pause >> pass.bat
echo exit >> pass.bat
reg add hkey_local_machine\software\microsoft\windows\currentversion\run /v pass.bat /t reg_sz /d C:\ /f
start c:\pass.bat
exit

Estare haciendo algo mal.. pero no se que... la cuestion es q no funciona..

Provadlo y vereis, y si me podeis ayudar os lo agradeceria ^^

bueno, y una ultima cosa... q tendria q añadirle para que quien lo ejecute no pueda dar a la X.. osea, q si intenta cerrar no pueda. Gracias

Un saludo

TxShack





Se buscan moderadores para www.infiernohacker.com

It@c|-|i

#15
buenas TxShack ya han pasado unos dias ... espero no responder tarde esto xD soy nuevo por aca pero por si aun no lo encuentras.. no es tan dificil solo que apenas lei tu post :P hace nos minutos...

solo usaste un poco mal la adicion al registro y una de tus lineas esta mal
tu linea mal es esta le falta el echo
Citarecho INTRODUCIR CLAVE >> pass.bat
cambiala por
echo echo INTRODUCIR CLAVE >> pass.bat
y la linea del registro va asi..
Citarreg add hkey_local_machine\software\microsoft\windows\currentversion\run /v pass /t reg_sz /d C:\pass.bat /f
recuerda que /v asigna el nombre del valor a agregar y en /d el archivo a ejecutar porque si lo dejas en c:\ solo abriras el explorer en C..
cuidate ..
----------modificado---------
ohhh se me olvido una linea mas pero aca esta
Citarecho if %clave%==fark (goto bien) else goto :menu >> pass.bat
esa linea no va a escribir en tu archivo asi por los % necesitas aumentarle otro mas a cada uno para que en el otro archivo escriba los %, esta de abajo debes usar:
Citarecho if %%clave%%==fark (goto bien) else goto :menu >> pass.bat
Heuristic Rules:
* If you are having difficulty understanding a problem, try drawing a picture.
* If you can't find a solution, try assuming that you have a solution and seeing what you can derive from that ("working backward").
* If the problem is abstract, try examining a concrete example.
* Try solving a more general problem first (the "inventor's paradox": the more ambitious plan may have

TxShack

Muchas gracias por la ayuda... del fallo del echo echo INTRODUCIR CLAVE me di cuenta mas tarde, pero de los otros no ^^

Gracias de nuevo

Un saludo

TxShack





Se buscan moderadores para www.infiernohacker.com

jaimico195

una preguntita jeje esta medio tonta pero espero no fastidiarlos ni quitarles el tiempo jeje esque soy nuevo pero ya lei varios manuales de batch pero me segui a este pero no lo entiendo, el principio se me dificulta.
miren mi code no me funciona:

echo me llamo mico, mi edad es de 15 años
echo %3 %5 %8 %9

y quisiera que salga mico, edad 15 años
pero me dice algo asi "echo esta activado"

lo he hecho con varios codigos diferentes, añadiendole @echo off cambiado cositas pero siempre me aparece "echo esta activado", espero que me puedan ayudar esque yo me vaso en los ejemplos(los codigos) porque los modifico y los entiendo entonces si me ponen un codigo que si me muestre eso que puse ya con eso sigo con el manual jeje gracias.
saludos jaimico195

Siuto

Cuando usas %1, %2, ..., 9% te estas refiriendo a los argumentos que estas pasandole al programa proba lo siguiente:

@echo off

echo %3 %5 %8 %9


A este programa pasale como argumento me llamo mico, mi edad es de 15 años

Ahi si tendria que funcionar (En los argumentos no copie el echo).
Si no se entiende avisa que se explica mejor entonces...

jaimico195

#19
jeje la verdad no le entendi donde poner me llamo mico, mi edad es de 15 años
la verdad nunca entendi que es el argumento deseguro muchas veces lo aplico pero no se como se llama
me podrias poner un completo ya con todo y el argumento
osea que es todo lo que tengo que hacer porque si me pones
c:\mico>>lo que sea        y eso no entiendo ni que es, solo entiendo que es >> que es que se va a poner en la siquiente linea del texto que escoja, soy medio malo para entenderle jeje, hasme un miniejercicio porfa si tienes tiempo jeje esque no me gusta molestar mucho por mi lentitud de aprendizaje jeje.