Crear una carpeta nueva
Tabla de contenidos
Crear una y otra vez la misma estructura de carpetas, o hacer a mano carpetas numeradas una por una, es tedioso.
Esta página muestra cómo crear carpetas con el comando mkdir. La misma sintaxis funciona en el símbolo del sistema y en archivos por lotes.
Comando a utilizar
Para crear una carpeta se usa el comando mkdir. La forma abreviada md hace lo mismo.
mkdir <nombre de la carpeta>
No tiene opciones; solo se indica el nombre de la carpeta como argumento. Conviene aprenderlo junto con su opuesto, el comando rmdir.
Si el nombre de la carpeta contiene espacios, enciérralo entre comillas dobles, como en mkdir "mi carpeta". Sin comillas, se crea una carpeta por cada palabra separada por espacios.
Ejecutar desde el símbolo del sistema
Este ejemplo crea una carpeta llamada “disposable” en el directorio actual. Justo después de abrir el símbolo del sistema, el directorio actual es tu carpeta de usuario (C:\Users\usuario).
Ejecutar desde un archivo por lotes
@echo off
setlocal
set FOLDER=%userprofile%\Documents\
set NAME=disposable
mkdir "%FOLDER%%NAME%"
endlocal
exit /b
Si ya existe una carpeta con el mismo nombre, aparece el error “Ya existe un subdirectorio o un archivo”. Para evitarlo, comprueba con if not exist antes de crear la carpeta.
if not exist "%FOLDER%%NAME%" mkdir "%FOLDER%%NAME%"
Crear una estructura de carpetas
Si pasas a mkdir una ruta separada por \, también se crean las carpetas intermedias. Las carpetas intermedias que no existan se crean automáticamente.
Este comportamiento depende de las extensiones de comandos, que están habilitadas de forma predeterminada en Windows.
Ejecutar desde el símbolo del sistema
Esto crea la estructura disposable > first > second en el directorio actual. Las carpetas que no existen se crean.
Ejecutar desde un archivo por lotes
@echo off
setlocal
set FOLDER=%userprofile%\Documents\
set TREE=disposable\first\second
mkdir "%FOLDER%%TREE%"
endlocal
exit /b
Crear varias carpetas a la vez
Para crear varias carpetas a la vez, combina mkdir con el comando for.
Ejecutar desde el símbolo del sistema
Este ejemplo crea cinco carpetas numeradas: “disposable1”, “disposable2”, etc.
Ejecutar desde un archivo por lotes
Dentro de un archivo por lotes, escribe la variable de for con dos signos de porcentaje, %%i, en lugar de %i.
@echo off
setlocal
set FOLDER=%userprofile%\Documents\
for %%i in (1,2,3,4,5) do (
mkdir "%FOLDER%disposable%%i"
echo Se creó la carpeta número %%i
)
endlocal
exit /b
Para más información sobre el comando for, consulta la siguiente página:
Por qué no se puede crear una carpeta
| Mensaje de error | Causa principal y solución |
|---|---|
| Ya existe un subdirectorio o un archivo. | Ya existe una carpeta (o archivo) con ese nombre. Comprueba con if not exist |
| Acceso denegado. | Ubicación que requiere permisos de administrador, como la raíz de C:\ o C:\Program Files. Cambia el destino o ejecuta como administrador |
| El sistema no puede encontrar la unidad especificada. | La letra de unidad no existe |
En un archivo por lotes puedes detectar si mkdir falló (código de salida distinto de 0).
mkdir "%FOLDER%%NAME%" || echo No se pudo crear la carpeta
PowerShell también tiene mkdir, pero es una función que llama a New-Item -ItemType Directory. El uso básico es el mismo, aunque no es igual que mkdir del símbolo del sistema.