pushd, popd

Mantenido el

Cuando cambias de carpeta con cd, tienes que recordar dónde estabas si quieres volver.

pushd recuerda la carpeta actual y luego se mueve, y popd te devuelve a la carpeta recordada. Son útiles cuando quieres trabajar un momento en otra carpeta y después volver al punto de partida.

Sintaxis básica

Sintaxis
pushd ruta_de_la_carpeta
popd
  • pushd: recuerda la carpeta actual y se mueve a la carpeta indicada.
  • popd: vuelve a la última carpeta recordada.

Uso básico

pushd C:\Windows\System32
popd
- □ ×
Í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>cd
C:\Users\sample
C:\users\user>
- □ ×
Í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>pushd C:\Windows\System32
おすすめ書籍※ 広告を含む場合があります
中小企業経営者のためのRPA入門 RPA導入を成功させる方法

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

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

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

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

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

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

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

- □ ×
Í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>cd
C:\Windows\System32
C:\users\user>
- □ ×
Í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>popd
- □ ×
Í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>cd
C:\Users\sample
C:\users\user>

Al ejecutar popd vuelves a C:\Users\sample, donde estabas antes de pushd.

Diferencia con cd

cd necesita /d para cambiar a otra unidad, pero pushd se mueve directamente. Otra gran diferencia es que pushd recuerda la carpeta que dejas.

Las carpetas recordadas se apilan

Las carpetas recordadas por pushd se guardan en una pila. La más reciente queda arriba y popd las retira desde arriba.

Tres
pushd C:\Windows
pushd C:\Users
pushd D:\work

A partir de aquí, cada popd retrocede por las carpetas recordadas, de la más nueva a la más antigua.

  1. Primer popd: vuelve a C:\Users
  2. Segundo popd: vuelve a C:\Windows
  3. Tercer popd: vuelve a la carpeta inicial

Ver el contenido de la pila

Si ejecutas pushd sin argumentos, se muestra la lista de carpetas recordadas. Funciona en un entorno normal, con las extensiones de comandos habilitadas.

- □ ×
Í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>pushd
C:\Users
C:\Windows
C:\Users\sample
C:\users\user>

Cuanto más arriba está una línea, más cerca está del lugar al que volverá el siguiente popd (se recordó más recientemente).

Moverse a una ruta de red (UNC)

cd no puede moverse a una ruta de red como \\server\share. pushd sí puede, porque asigna automáticamente una letra de unidad libre.

Trabajar
pushd "\\server\share\work"
dir
popd

La letra asignada es la primera libre, empezando por Z: y retrocediendo. Cuando popd te devuelve a la carpeta original, la unidad asignada se libera.

Ejecutar un archivo por lotes desde una carpeta compartida

Si ejecutas un archivo por lotes directamente desde una ruta UNC, el directorio actual no puede establecerse en esa ruta y puede aparecer una advertencia. Escribe pushd "%~dp0" al principio del archivo para moverte a la carpeta que lo contiene antes de empezar el trabajo.

Usarlo en archivos por lotes

Cuando un archivo por lotes trabaja en otra carpeta, rodea esa parte con pushd y popd para que el directorio actual sea el mismo antes y después.

backup.cmd
@echo off

pushd "%~dp0"
echo Carpeta de este archivo por lotes: %cd%

pushd "C:\data"
if not exist "%~dp0backup" mkdir "%~dp0backup"
copy *.txt "%~dp0backup\"
popd

echo De vuelta en la carpeta del archivo por lotes: %cd%
popd

%~dp0 es la carpeta que contiene el propio archivo por lotes. Consulta

para más detalles.

No olvides popd

Si el número de pushd y de popd no coincide, puedes quedarte en otra carpeta al terminar el archivo por lotes. Usa siempre pushd y popd en pareja.

Cuando la carpeta no existe

Si indicas a pushd una carpeta que no existe, aparece un mensaje de error y no se produce ningún movimiento.

- □ ×
Í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>pushd C:\nothing
El sistema no puede encontrar la ruta especificada.
C:\users\user>

Si ejecutas popd tras un movimiento fallido, volverás a una carpeta recordada antes. En un archivo por lotes es más seguro controlar el fallo con ||.

Detener
pushd "C:\data" || exit /b 1
rem Escribe aquí tus comandos
popd

Consulta

para saber cómo funciona ||.

En PowerShell

En PowerShell, pushd y popd son alias de Push-Location y Pop-Location. La pila se gestiona por separado de la del símbolo del sistema.

Resumen

ObjetivoComando
Recordar la carpeta y moversepushd carpeta
Volver a la carpeta recordadapopd
Listar las carpetas recordadaspushd (sin argumentos)
Moverse a una ruta de redpushd "\\server\share"
Moverse a la carpeta del archivo .batpushd "%~dp0"

Artículos relacionados

Ejercicio

Problema de práctica

¿Qué ocurre al ejecutar popd después de pushd \\server\share?

Elige una respuesta.

  1. Vuelves a la carpeta en la que estabas antes de pushd y se libera la letra de unidad asignada
  2. Se corta la conexión de red y te quedas donde estás
  3. Subes una carpeta
#Línea de comandos #Archivo por lotes #pushd #popd #Directorio #Comando