[BATCH]Hallar ubicacion de un programa que se este ejecutando

Iniciado por Segadorfelix, 12 Diciembre 2012, 04:53 AM

0 Miembros y 1 Visitante están viendo este tema.

Segadorfelix

Me pregunto, ¿como saber la ubicación de un programa que se esta ejecutando, mediante batch?; tasklist no da la información.
Si no se puede en batch,¿se puede en VBS?

Gracias.

Eleкtro

#1
Tanto en Batch como en VBS como en cualquier otro lenguaje de scripting xD, usando WMIC.exe y/o WMI (En batch es necesario usar el executable, claro...)


Batch:
Código (DOS) [Seleccionar]

:: Todos los procesos
wmic process get name,ExecutablePath /format:list


Código (dos) [Seleccionar]

:: El proceso "CMD.exe"
wmic process where name="cmd.exe" get ExecutablePath



VBS:
Código (vb) [Seleccionar]

' Todos los procesos
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.InstancesOf("Win32_Process")
For Each objItem In colItems
   Wscript.Echo (objItem.Name & vbnewline & objItem.ExecutablePath)
Next


Código (vb) [Seleccionar]

' El proceso "CMD.exe"
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcess = objWMIService.ExecQuery("Select * from Win32_Process " & "Where Name = 'cmd.exe'")
For Each objProcess in colProcess
   Wscript.Echo (objProcess.Name & vbnewline & objProcess.ExecutablePath)
Next








Segadorfelix

Wow :o, gracias EleKtro H@cker , no sabia que wmic podía hacer eso.
¿Donde hay mas información sobre wmic?, he visto algunos script con esa función pero no he encontrado nada que describa correctamente el uso de "wmic".

Eleкtro

#3
EDITO: WMIC es muy fácil de usar, solo tienes que aprenderte el nombre de las distintos "alias" y sus propiedades para saber los datos que puedes obtener, por ejemplo para listar las propiedades del "alias" OS:
Código (dos) [Seleccionar]
wmic os get /format:list




WMIC:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa394531%28v=vs.85%29.aspx
http://ss64.com/nt/wmic.html


WMI:
http://msdn.microsoft.com/es-es/library/windows/desktop/aa394572%28v=vs.85%29.aspx

En "CodeProject" hay un source de VB.NET que te muestra todo lo que puedes hacer con WMI,
También existen scripts que sirven de ejemplo, te muestran todas las capacidades de WMIC y WMI, solo hay que buscar en Google...

Saludos








Segadorfelix

Gracias por las paginas, voy averiguar un poco mas sobre wmic, es que hay comandos útiles de los que casi no se habla, como wmic, runas, regini, debug(aunque en parte sea mas de ASM), ftp, etc.