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

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Trabajo en batch con textos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Trabajo en batch con textos  (Leído 2,199 veces)
daibaq

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Trabajo en batch con textos
« en: 24 Enero 2014, 15:16 pm »

Hola!
llevo muchos años siguiéndoos, y siempre que he tenido alguna duda e encontrado la solución buscando...
pero en este caso necesito un poco de ayuda porque soy bastante nulo en batch.
la cuestiones que tengo un .exe que me genera una lista de procesos con su UID de esta manera:
Código:
ProcessId	ImageName  
428 csrss.exe  
ProcessId ImageName  
436 wininit.exe  
ProcessId ImageName  
484 winlogon.exe

necesito recoger  el  ID de un par de procesos y volver a ejecutar el .exe con otra opción y el ID del proceso.
ejemplo: recoger el 436 sabiendo que el proceso en cuestión es wininit.exe.
lo único que se me ocurre es generar un archivo de texto con los datos, y despues trabajar sobre el ,pero no sé si en batch hay las posibilidades como en Linux para trabajar con archivos con texto.

gracias.



[MOD]: Debes utilizar las etiquetas de código, porfavor lee las normas.


« Última modificación: 27 Enero 2014, 14:50 pm por Eleкtro » En línea

Almapa

Desconectado Desconectado

Mensajes: 111


Ver Perfil
Re: Trabajo en batch con textos
« Respuesta #1 en: 26 Enero 2014, 14:25 pm »

A ver el .exe te genera un archivo de texto con estos datos que has puesto? y, exactamente que es lo que quieres? guardas un número y un nombre en variables del proceso que quieres?

Explicate un poco más y te podré ayudar ;)


En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.818



Ver Perfil
Re: Trabajo en batch con textos
« Respuesta #2 en: 27 Enero 2014, 15:10 pm »

Enviar la salida a un archivo de texto para trabajar ese texto es algo innecesario ya que puedes trabajar diréctamente con los datos que se muestran en la consola.

Puedes usar el comando Tasklist para obtener el PID, o puedes usar la interface WMI (en Batch se utiliza con el comando externo WMIC.exe) para obtener el PID de "X" proceso, sea como sea las dos maneras requieren el uso de un FOR para filtrar la salida de la consola (o el contenido de un archivo de texto, si lo prefieres...).

Te codearé un ejemplo usando WMIC ya que es un método más óptimo:

Código
  1. @Echo OFF
  2.  
  3. Set "Processes=Wininit; CMD, Firefox; Winlogon"
  4.  
  5. For %%# in (%Processes%) Do (
  6.  
  7. Call :GetPID "%%#"
  8. Echo Process Name: %%#
  9. Call Echo Process Id. : %%PID%% | MORE
  10.  
  11. )
  12.  
  13. Pause&Exit
  14.  
  15. :GetPID
  16. For /F "Delims=" %%# in (
  17. 'WMIC.exe Process Where Name^="%~1.exe" get ProcessID ^| Findstr "[0-9]"'
  18. ) Do (
  19. Set /A "PID=%%#"
  20. )
  21. GOTO :EOF



Saludos.
« Última modificación: 27 Enero 2014, 15:18 pm por Eleкtro » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
¿Cómo obtengo el nombre del grupo de trabajo en BATCH? (SOLUCIONADO) « 1 2 »
Scripting
<ИΘZIЭ(ŦB> 11 9,272 Último mensaje 11 Marzo 2010, 20:40 pm
por rambalita
[Batch] Insertar un batch dentro de un batch que fabrique un .txt
Scripting
$pedrojo2704 2 5,551 Último mensaje 23 Agosto 2012, 10:08 am
por $pedrojo2704
[BATCH] Comparación de textos
Scripting
paynetex 2 2,292 Último mensaje 24 Mayo 2013, 23:51 pm
por flony
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines