redes para linea hackear comandos basicos windows command-line path

para - Encontrar la ruta del programa que se ejecutará desde la línea de comando en Windows



comandos de cmd para hackear (3)

Digamos que tengo un programa X.EXE instalado en la carpeta c:/abcd/happy/ en el sistema. La carpeta está en la ruta del sistema. Ahora supongamos que hay otro programa en el sistema que también se llama X.EXE pero está instalado en la carpeta c:/windows/ .

¿Es posible descubrir rápidamente desde la línea de comandos que si X.EXE en X.EXE cuál de los dos X.EXE se lanzará? (pero sin tener que buscar directorios o mirar los detalles del proceso en el Administrador de tareas).

¿Tal vez algún tipo de comando integrado, o algún programa que pueda hacer algo como esto? :

detect_program_path X.EXE


Aquí hay un pequeño script cmd que puedes copiar y pegar en un archivo llamado algo así como where.cmd :

@echo off rem - search for the given file in the directories specified by the path, and display the first match rem rem The main ideas for this script were taken from Raymond Chen''s blog: rem rem http://blogs.msdn.com/b/oldnewthing/archive/2005/01/20/357225.asp rem rem rem - it''ll be nice to at some point extend this so it won''t stop on the first match. That''ll rem help diagnose situations with a conflict of some sort. rem setlocal rem - search the current directory as well as those in the path set PATHLIST=.;%PATH% set EXTLIST=%PATHEXT% if not "%EXTLIST%" == "" goto :extlist_ok set EXTLIST=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH :extlist_ok rem - first look for the file as given (not adding extensions) for %%i in (%1) do if NOT "%%~$PATHLIST:i"=="" echo %%~$PATHLIST:i rem - now look for the file adding extensions from the EXTLIST for %%e in (%EXTLIST%) do @for %%i in (%1%%e) do if NOT "%%~$PATHLIST:i"=="" echo %%~$PATHLIST:i


Como el thread mencionado en el comentario, get-command en powershell también puede resolverlo. Por ejemplo, puede escribir get-command npm y la salida es la siguiente:


Usa el comando where El primer resultado en la lista es el que se ejecutará.

C:/> where notepad C:/Windows/System32/notepad.exe C:/Windows/notepad.exe

De acuerdo con esta publicación del blog , where.exe se incluye con Windows Server 2003 y posterior, por lo que esto debería funcionar solo con Vista, Win 7, et al.

En Linux, el equivalente es el comando, por ejemplo, which ssh .