Mostrar el directorio actual
Para comprobar en qué carpeta estás trabajando desde el símbolo del sistema o un archivo por lotes, usa el comando cd.
En este artículo se explica cómo mostrar el directorio actual (directorio de trabajo), la diferencia entre %cd% y %~dp0 en archivos por lotes y cómo cambiar a una carpeta de otra unidad.
Resumen
| Objetivo | Comando |
|---|---|
| Mostrar el directorio actual | cd |
| Usar el directorio actual como variable | %cd% |
| Obtener la carpeta donde está el archivo por lotes | %~dp0 |
| Cambiar a una carpeta de otra unidad | cd /d D:\work |
| Mostrar el directorio actual en PowerShell | Get-Location (pwd) |
Mostrar el directorio actual
Si ejecutas cd sin argumentos, se muestra la ruta completa del directorio actual.
Ejecutar desde el símbolo del sistema
Ejecutar desde un archivo por lotes
@echo off
setlocal
cd
endlocal
exit
Para incluir la ruta dentro de un texto, usa %cd%.
@echo off
echo Carpeta actual: %cd%
Cambiar el directorio actual
Si pasas una ruta a cd, cambias el directorio actual. Por ejemplo, para ir a la carpeta temporal (la variable de entorno %TEMP%):

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

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

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

知識・才能ゼロでもらく~に月10万円稼ぐ! よくわかるAI副業超入門
Si la ruta contiene espacios, enciérrala entre comillas dobles.
cd "C:\Program Files"
Usa /d para cambiar de unidad
cd por sí solo no puede cambiar a otra unidad. Añade la opción /d para cambiar de unidad y de carpeta a la vez.
Trabajar con archivos mediante rutas relativas
Las rutas relativas se basan en el directorio actual, por lo que tus comandos siguen funcionando aunque cambie la estructura de carpetas.
| Símbolo | Significado |
|---|---|
. | Directorio actual |
.. | Una carpeta hacia arriba |
\ | Raíz de la unidad actual (p. ej. C:\) |
Por ejemplo, mueve sample.txt del directorio actual a la carpeta backup situada un nivel por encima.
@echo off
setlocal
set "FILE=sample.txt"
set "DEST=..\backup\"
move "%FILE%" "%DEST%"
endlocal
exit
En archivos por lotes, ten en cuenta la diferencia con %~dp0
El directorio actual al ejecutar un archivo por lotes no siempre es la carpeta donde está guardado.
- Ejecutado desde el símbolo del sistema: el directorio en el que estabas
- Ejecutado con doble clic: la carpeta del archivo por lotes
- Ejecutado como administrador: normalmente
C:\Windows\System32
Para trabajar de forma fiable con archivos que están junto al archivo por lotes, usa %~dp0 (la carpeta del propio archivo) o ejecuta cd /d "%~dp0" al principio.
@echo off
cd /d "%~dp0"
echo Carpeta de este archivo por lotes: %cd%
Moverse a una ruta de red (UNC)
cd no puede moverse a una ruta UNC como \\servidor\recurso. Usa pushd: asigna automáticamente una letra de unidad libre y convierte esa carpeta en el directorio actual. Al terminar, popd vuelve a la carpeta anterior y libera la letra de unidad.
pushd "\\servidor\recurso\trabajo"
dir
popd
%cd% no termina en barra invertida, salvo en la raíz de una unidad como C:\. Tenlo en cuenta al concatenar, por ejemplo %cd%\sample.txt.
En PowerShell
PowerShell usa el cmdlet Get-Location (alias pwd) para mostrar el directorio actual. cd es un alias de Set-Location y sirve para cambiar de carpeta, no para mostrar la ruta.
Get-Location
Resumen
- Muestra el directorio actual con
cd; usa%cd%como variable - Usa
cd /dpara cambiar de unidad - Obtén la carpeta del propio archivo por lotes con
%~dp0 - Para rutas de red usa
pushd/popden lugar decd