WHERE - Buscar ejecutables

Mantenido el

A veces quieres saber «¿dónde está el ejecutable de este comando?».

El comando WHERE busca la ubicación de los archivos ejecutables con un nombre dado, a partir de los directorios de la variable de entorno PATH.

Uso básico

WHERE nombre_del_comando

Ejemplo

where notepad
- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>where notepad
C:\Windows\System32\notepad.exe
C:\Windows\notepad.exe
C:\users\user>

Se muestran todas las rutas donde existe un ejecutable llamado notepad.

チェック

Es especialmente útil para comprobar a qué versión apunta un comando como python o node en un entorno de desarrollo.

En PowerShell, escribe where.exe

En PowerShell, where es un alias del cmdlet Where-Object, por lo que no funciona como se espera. Ejecútalo con la extensión, por ejemplo where.exe notepad.

Los comandos internos no se encuentran

WHERE encuentra archivos como ejecutables y scripts. Los comandos internos del símbolo del sistema, como cd y dir, no tienen archivo ejecutable y no aparecen.

Dónde busca WHERE

WHERE busca primero en el directorio actual y después, en orden, en los directorios de la variable PATH. Si omites la extensión, se prueban las de la variable PATHEXT (.exe, .cmd, .bat, etc.).

Opciones principales

OpciónDescripción
/R directorioBusca recursivamente desde el directorio indicado
/QNo muestra resultados; solo devuelve un código de salida
/FMuestra los nombres de archivo entre comillas dobles
/TMuestra el tamaño y la fecha de modificación

Búsqueda recursiva (/R)

where /R C:\ notepad.exe

Con comodines

where /R C:\Scripts *.cmd
- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>where /R C:\Scripts *.cmd
C:\Scripts\backup.cmd
C:\Scripts\cleanup.cmd
C:\Scripts\deploy\setup.cmd
C:\users\user>
おすすめ書籍※ 広告を含む場合があります
中小企業経営者のためのRPA入門 RPA導入を成功させる方法

中小企業経営者のためのRPA入門 RPA導入を成功させる方法

60分でわかる! AIエージェント 超入門

60分でわかる! AIエージェント 超入門

コマンドラインの黒い画面が怖いんです。

コマンドラインの黒い画面が怖いんです。

知識・才能ゼロでもらく~に月10万円稼ぐ! よくわかるAI副業超入門

知識・才能ゼロでもらく~に月10万円稼ぐ! よくわかるAI副業超入門

Mostrar tamaño y fecha (/T)

where /T notepad
- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>where /T notepad
201216 2024-10-05 14:35:22 C:\Windows\System32\notepad.exe
201216 2024-10-05 14:35:22 C:\Windows\notepad.exe
C:\users\user>

El tamaño está en bytes. El formato de fecha depende de la configuración regional de Windows.

Comprobar existencia (/Q)

Con /Q no se muestra nada y solo se devuelve un código de salida. Sirve para bifurcar en archivos por lotes.

@echo off
where /Q git
IF NOT ERRORLEVEL 1 (
    echo Git está instalado.
) ELSE (
    echo No se encontró Git. Revisa el PATH.
)

Ejemplo práctico: comprobar un entorno de desarrollo

@echo off
setlocal EnableDelayedExpansion
echo === Comprobación del entorno de desarrollo ===
echo.

for %%T in (git node python java) do (
    where /Q %%T
    if !ERRORLEVEL! EQU 0 (
        echo [OK] %%T
    ) else (
        echo [NG] No se encontró %%T
    )
)
endlocal

Como ERRORLEVEL se consulta dentro de un bucle for, se usa expansión retardada (!ERRORLEVEL!).

Si no se encuentra nada

Si no se encuentra ningún archivo, WHERE muestra un mensaje de error y devuelve el código de salida 1. En otros errores, como una sintaxis incorrecta, devuelve 2.

Resumen

OperaciónComando
Buscar la ubicaciónwhere nombre
Buscar recursivamentewhere /R directorio nombre
Mostrar tamaño y fechawhere /T nombre
Comprobar existencia (silencio)where /Q nombre

Artículos relacionados

Ejercicio

Problema de práctica

¿Cuál es una forma correcta de comprobar en un archivo por lotes si un comando está disponible (en el PATH)?

回答がサーバーに送信されることはありません
#Línea de comandos #Archivos por lotes #WHERE #Comando #PATH