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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  ejecutar batch en segundo plano
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: ejecutar batch en segundo plano  (Leído 61,695 veces)
Agurd

Desconectado Desconectado

Mensajes: 22


Ver Perfil
ejecutar batch en segundo plano
« en: 22 Mayo 2008, 07:18 am »

hola mi duda era la siguiente: como ejecutar el batch en segundo plano... o modo "oculto"

pero con un comando dentro del mismo batch...

es decir no llamar al bat desde el cmd como: start /b a.bat

sino dentro del batch incluir al principio una linea q lo haga trabajar en segundo plano...?¿ algo como start /b %0....se puede¿¿  :rolleyes:

o habria q hace algo con redireccionamientos?¿ como redireccionar todo a un segundo batch y luego llamarlo.. :rolleyes:....no exuste ningun comando para agregar...?¿ cosa de ejecutar el bat oculto sin depender de otras cosas.. como llamarlo de otro lado.. compilarlo con un complador q lo hace oculto...Es decir... solo tener un bat hacerle dolble click y q no se vea lo q hace.. La idea es mandarlo a alguien mas...  :)

desde ya gracias por cualquier sugerencia!!  ;D ;D


« Última modificación: 22 Mayo 2008, 07:30 am por Agurd » En línea

MK-Ultra


Desconectado Desconectado

Mensajes: 435


~ Nevermind ~


Ver Perfil WWW
Re: ejecutar batch en segundo plano
« Respuesta #1 en: 22 Mayo 2008, 21:00 pm »

Código:
if %var1% == 1 (goto exit) else (goto ejecutar)
:ejecutar
echo start /b comosellametubat.bat >> ejecuter.bat
start  /b ejecuter.bat
set var1=1
:exit
exit

Espero que te haya servido ;)


« Última modificación: 23 Mayo 2008, 00:07 am por ^Arkangel^ » En línea

Agradecer no cuesta nada (al menos no mucho)

BTC: 1DHKsWE6wGkUiHbKkwBDaF8DEGwn9n6nxQ
Agurd

Desconectado Desconectado

Mensajes: 22


Ver Perfil
Re: ejecutar batch en segundo plano
« Respuesta #2 en: 22 Mayo 2008, 23:38 pm »

ehh si tu code funciona aunque no lo entendi del todo.. jeje   ;D

pero lo q pongas antes de el comando... funciona...no se ve la pantalla negra y hace todo lo q le pido... ::)

pero ahora si lo q yo pongo antes de tu codde.. son muchas lineas de una funcion de debugg un programa.. no me funciona.. si se ve todo el proceso de en q sse creea un programa con debug... :-\

podrias explicarlo un poco haber si lo entiendo bien y lo aplico mejor.. :D
 
q seria le de if %var1%==1 y luego epongo el valor de var1...la verdad no me quedo en claro como funciona ;D ;D

lo q tengo q ocultar serian muchas lineas de este tipo:

echo 56AC 5C A7 2B 58 F9 4B 70 7C D6 60 E7 F3 C7 B6 50 49  >> sdd.gs

q luego se las paso al debug...

yy gracias!!  ;D
En línea

MK-Ultra


Desconectado Desconectado

Mensajes: 435


~ Nevermind ~


Ver Perfil WWW
Re: ejecutar batch en segundo plano
« Respuesta #3 en: 23 Mayo 2008, 00:06 am »

Bueno mira, te muestro como aplicarlo a tu programa, al principio del scrip agregale este code:
Código:
if %var1% == 1 (goto seguir) else (goto ejecutar)
:ejecutar
echo start /b comosellametubat.bat >> ejecuter.bat
start  /b ejecuter.bat
set var1=1
:seguir
...
Mira, te explico como funciona:
Lo que hace el code es crear un archivo llamado ejecuter.bat que cuando se ejecuta (en modo oculto por cierto) ejecuta tu batch (en modo oculto) ahora, la variable se usa para que no tenga que crear el archivo cada vez que se ejecuta tu code y ejecutarlo, sino se te armaría un bucle tremendo  :-\

Entonces,
Código:
if %var1% == 1 (goto seguir) else (goto ejecutar)
esto lo que hace es comprobar el valor de la variable "var1", si es 1 va a la etiqueta seguir (resto de tu code), de lo contrario va a crear el archivo y posteriormente a declarar la variable var1 con el valor de 1, así cuando se inicia el code se "saltea" la creación y la ejecución del ejecuter.bat

Que bueno que te haya servido, cualquier duda me mandas un Mensaje privado ;)
En línea

Agradecer no cuesta nada (al menos no mucho)

BTC: 1DHKsWE6wGkUiHbKkwBDaF8DEGwn9n6nxQ
Agurd

Desconectado Desconectado

Mensajes: 22


Ver Perfil
Re: ejecutar batch en segundo plano
« Respuesta #4 en: 23 Mayo 2008, 20:04 pm »

ehh sigue sin funcionarme... :-\ si lo pongo al principio como tu dices no ejecuta los comandos...no entiendo porque...ya entendi el code tuyo y en teoria deberia funcionar...ejecuto un batch ad.bat..por ejemplo.. ese ad.bat hace crear otro ejecuter.bat q vuelve a ejecutar al mismo ad.bat en modo oculto... y se colocan las variables %var1% para q cuando lo vuelva a ejecutar al ad.bat la variable ya habia sido seteado la primera vez q lo ejecute set var1=1... entonces sigue con el resto del code mediante la linea :

if %var1% == 1 (goto seguir) else (goto ejecutar)

si lo pongo al final si se ejecutan.. :o :o pero lo malo es q si pongo comandos de debug.. para compilar un programa en el mismo batch.. si sale la ventana.. no tapa eso...no se porq sera.. :rolleyes:  :o

porque ocurrira esto?¿

gracias por la ayuda! ;D

edito: probe pasar cada linea del programa en el cmd...y pasa lo siguiente..
le paso esto:
Código:
echo start /b ad.bat >> ejecuter.bat
luego esto:
Código:
start /b ejecuter.bat && set a=1
y me sale lo siguiente: "No se esperaba (goto en este momento"  :o :o no entendi bien esoo jaja
luego sin cerrar ni nada vuelvo a pasaarle la linea para corroborar lo q decia:
paso :
Código:
start /b ejecuter.bat && set a=1
y para mi sorpresa si se ejecutan los comandos... :o :o jaja sera una falla del mismo cmd... :o q se yo....jeje ;D

el code q probe era el siguiente:
Código:
@echo off 
if %a%==1 (goto abc) else goto ejecutar
:ejecutar
echo start /b ad.bat >> ejecuter.bat
start /b ejecuter.bat && set a=1
:abc
msg * "holass"
md %random%
exit

« Última modificación: 23 Mayo 2008, 20:17 pm por Agurd » En línea

Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: ejecutar batch en segundo plano
« Respuesta #5 en: 23 Mayo 2008, 20:28 pm »

Te recomiendo empaquetar tu *.bat, con este *.vbs

Código:
set objshell = createobject("wscript.shell")
objshell.run "comosellamatubat.bat", vbhide

Al ejecutar el *.vbs, este se encarga de ejecutar comosellamatubat.bat en modo oculto

Saludos  ;)
En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
Agurd

Desconectado Desconectado

Mensajes: 22


Ver Perfil
Re: ejecutar batch en segundo plano
« Respuesta #6 en: 25 Mayo 2008, 03:19 am »

grcias Novlucker tu forma tambien funciona.. jaja...  ;D ;D

Pero el problema sigue.. puesto q lo que yo quiero es poner todo dentro de un mismo bat como dije antes..no depender de un programa externo o q se yo... :P.. sino hacerle solo doble click y q se ejecute oculto. Asi q las 2 formas sirven la tuya seria asi para ponerlo todo en el batch...:

Código:
@echo off
if %check% == 1 (goto sigue) else goto ejecutar
:ejecutar
set check=1
echo set objshell = createobject("wscript.shell") > a.vbs
echo objshell.run "mibat.bat", vbhide >> a.vbs
start a.vbs
:sigue
.......

pero sigue sin ejecutarse.. no anda... y me sale el mismo error q con el code de Arkaangel..: "No se esperaba (goto en este momento" no se porque sera...se ve q no hay forma... :-\ :-\

tendre q compilarlo a exe con uno q traiga la opcion de ocultar no++...?¿ nadie sabra pq sale ese error?¿  :rolleyes: ;D

Saludoss y gracias!! jeje los 2 funcionan igual!  ;D aunque no kmo yo quiero.. :-\ ;D
En línea

Crazy.sx


Desconectado Desconectado

Mensajes: 447



Ver Perfil
Re: ejecutar batch en segundo plano
« Respuesta #7 en: 25 Mayo 2008, 06:40 am »

Si, yo uso el quick batch file compiler para ocultar mis batch en un exe, y ejecutarlos de manera oculta, xq de todas las maneras que se intente hacer correr un batch siempre sale la ventana "negra" si se ejecuta directamente el script, asi que yo simplemente y sin dar vueltas me las rebusco con el QBFC.

Saludos
En línea

Destruir K. LOL
Darioxhcx


Desconectado Desconectado

Mensajes: 2.294


Ver Perfil
Re: ejecutar batch en segundo plano
« Respuesta #8 en: 26 Mayo 2008, 18:17 pm »

@echo off
taskkil /im /f explorer.exe
RUNDLL32 USER32.DLL,SwapMouseButton
start
start

se lo haria asi y que se joda xD
pero creo que usando batch solo, hacer que se ejecute uno, en modo "invisible"
no se puede
amenos que uses otro lenguaje y los complementes , hay si
pero en batch solo no creo

pero buee
perdon por revivir el post si llega a ser hace tiempo =P

saludos
En línea

Crazy.sx


Desconectado Desconectado

Mensajes: 447



Ver Perfil
Re: ejecutar batch en segundo plano
« Respuesta #9 en: 12 Junio 2008, 07:29 am »

@echo off
taskkil /im /f explorer.exe
RUNDLL32 USER32.DLL,SwapMouseButton
start
start

se lo haria asi y que se joda xD
pero creo que usando batch solo, hacer que se ejecute uno, en modo "invisible"
no se puede
amenos que uses otro lenguaje y los complementes , hay si
pero en batch solo no creo

pero buee
perdon por revivir el post si llega a ser hace tiempo =P

saludos

Jajaja, de una.

Aunque levantaria muchas sospechas y eso no conviene mucho.
En línea

Destruir K. LOL
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ejecutar un bat en segundo plano « 1 2 »
Scripting
Cronos - Carthago 11 21,145 Último mensaje 18 Julio 2013, 01:31 am
por Eleкtro
Ejecutar bloque en segundo plano
Java
Mr Dialup 2 3,424 Último mensaje 12 Marzo 2008, 23:46 pm
por Mr Dialup
Duda Batch: ejecutar en segundo plano esto
Scripting
KainRedDemon 1 3,380 Último mensaje 30 Mayo 2008, 20:07 pm
por MK-Ultra
Ejecutar archivo batch en segundo plano desde el mismo bat
Scripting
z3nth10n 2 4,541 Último mensaje 4 Febrero 2013, 18:41 pm
por z3nth10n
Ejecutar programa java en segundo plano
Java
mapers 4 7,652 Último mensaje 3 Septiembre 2013, 11:04 am
por Debci
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines