Comodines
En lugar de indicar los archivos uno por uno, puedes usar un comodín como *.txt para referirte a todos los archivos que cumplan una condición. Es una técnica básica que funciona con muchos comandos, como dir, copy, del y ren.
En este artículo se explica qué significan * y ?, cómo usarlos con cada comando y los errores en los que suelen caer los principiantes.
Resumen
| Símbolo | Significado | Ejemplo |
|---|---|---|
* | Cualquier cadena de cero o más caracteres | *.txt (todos los archivos txt) |
? | Cualquier carácter individual | report?.txt (report1.txt, reportA.txt, etc.) |
- El propio comando expande el comodín. El símbolo del sistema no lo hace.
- Los comodines no se pueden usar en medio de la ruta de una carpeta (como
C:\Us*\Documents). - Una eliminación como
del *.docpuede coincidir con archivos no deseados. Comprueba antes condir.
Conceptos básicos de los comodines
* (asterisco)
* coincide con cualquier cadena de cero o más caracteres.
dir *.txt
dir report*
dir *log*
? (signo de interrogación)
? coincide con cualquier carácter individual. Es útil cuando quieres limitar el número de caracteres.
dir data?.csv

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

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

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

知識・才能ゼロでもらく~に月10万円稼ぐ! よくわかるAI副業超入門
data10.csv no coincide porque solo hay un ?. Para dos caracteres, escribe data??.csv. Además, como explica el cuadro de información siguiente, data?.csv también coincide con data.csv.
Un ? situado al final de la parte del nombre coincide con “un carácter o ninguno”. Por ejemplo, dir ab? coincide con abc y también con ab. Un ? en medio siempre coincide exactamente con un carácter.
*.* y *.
| Patrón | Con qué coincide |
|---|---|
*.* | Todos los archivos (incluidos los que no tienen extensión) |
*. | Archivos sin extensión |
* | Todos los archivos |
*.* no significa “archivos que tienen extensión”. Coincide con todos los archivos, incluidos los que no tienen extensión.
Ejemplos por comando
dir: listar y buscar
dir /s /b *.log
Consulta
para más detalles.copy / del / move: operar sobre varios archivos
copy *.txt backup\
del *.tmp
move cache* archive\
Si la ruta contiene espacios, encierra la ruta completa, comodín incluido, entre comillas.
del "C:\My Files\*.tmp"
ren: cambiar extensiones de una vez
ren *.txt *.bak
Con ren, también puedes usar comodines en el nuevo nombre para conservar la parte correspondiente del nombre original. Consulta
for: procesar los archivos uno a uno
Si pones un comodín entre los paréntesis de for, cada archivo coincidente se asigna a la variable por turnos.
for %f in (*.txt) do @echo %f
El ejemplo anterior es para escribirlo directamente en el símbolo del sistema. En un archivo por lotes, cambia %f por %%f.
Usa for /d para trabajar con carpetas y for /r para buscar en subcarpetas de forma recursiva. Consulta
if exist: comprobar si existe
if exist *.txt echo Hay archivos txt
Consulta
para más detalles.Precauciones
El propio comando expande el comodín
A diferencia de bash y shells similares, el símbolo del sistema no expande los comodines. Los pasa tal cual al comando.
echo no interpreta los comodines, por lo que el texto se muestra tal cual. Que los comodines funcionen o no depende del comando.
| Comando | Comodines |
|---|---|
dir copy del move ren type | Admitidos |
for (entre paréntesis) | Admitidos |
where | Admitidos |
rmdir (rd) | No admitidos (combínalo con for /d) |
cd | No admitidos |
find | No admitidos en nombres de archivo (combínalo con for) |
findstr | El patrón de búsqueda es una expresión regular; los nombres de archivo admiten comodines |
No se admiten en medio de la ruta de una carpeta
dir C:\Us*\Documents
Un comodín en medio del nombre de una carpeta no se interpreta como parte de la ruta. Para buscar en varias subcarpetas, usa /s.
dir /s /b C:\Users\*.docx
Las extensiones más largas pueden coincidir (nombres cortos 8.3)
En los sistemas donde el sistema de archivos genera nombres cortos 8.3, un patrón también puede coincidir con archivos cuya extensión tiene cuatro o más caracteres. Esto ocurre porque en un nombre corto la extensión se trunca a tres caracteres.
dir *.doc
Si usas un patrón como del *.doc para eliminar archivos, es posible que también se eliminen los archivos .docx. Antes de cualquier operación destructiva, ejecuta dir con el mismo patrón y comprueba los archivos afectados.
Antes de ejecutar del o move, ejecuta dir /b patrón con el mismo patrón y comprueba siempre qué archivos se verán afectados. Ten especial cuidado con del *.*, que elimina todos los archivos de la carpeta actual (tras un mensaje de confirmación).
Cómo se tratan las carpetas
dir también muestra las carpetas que coinciden con el patrón, pero del no elimina las carpetas coincidentes (solo afecta a archivos). Para eliminar carpetas con un comodín, usa for /d de la siguiente manera.
for /d %d in (tmp*) do rd /s /q "%d"
En un archivo por lotes, cambia también aquí %d por %%d.
Archivos ocultos
De forma predeterminada, dir y del no afectan a los archivos ocultos ni a los de sistema. Para mostrarlos con dir, agrega la opción /a.
dir /a *.txt
Para eliminar también los archivos ocultos con del, agrega /a, como en del /a *.tmp.
Tabla resumen
| Objetivo | Ejemplo |
|---|---|
| Filtrar por extensión | dir *.txt |
| Filtrar por el inicio del nombre | dir report* |
| Seleccionar archivos que difieren en un carácter | dir data?.csv |
| Buscar archivos sin extensión | dir *. |
| Buscar incluidas las subcarpetas | dir /s /b *.log |
| Procesar los archivos uno a uno | for %f in (*.txt) do ... |
| Cambiar extensiones de una vez | ren *.txt *.bak |