Si trabajas habitualmente con Windows, tarde o temprano acabas chocando con los atributos de archivos y carpetas. A veces un fichero no se deja borrar, otras veces “desaparece” porque está oculto y, en ocasiones, una copia de seguridad no incluye todo lo que debería. Detrás de muchos de estos comportamientos está un viejo conocido olvidado: el comando attrib.
En este artículo vamos a ver con calma cómo usar attrib para consultar, cambiar y automatizar atributos en Windows, desde los clásicos solo lectura u oculto hasta opciones más avanzadas como archivos sin indizar, sin conexión o comprimidos. Además, veremos cómo reaccionar ante ciertos tipos de malware que juegan precisamente con estos atributos para “esconderte” tus propios datos.
¿Qué es el comando attrib y para qué sirve?
El comando attrib es una utilidad de línea de comandos incluida en MS‑DOS y todas las versiones modernas de Windows, tanto de escritorio como de servidor. Su función es muy sencilla: mostrar, asignar o quitar atributos de archivos y directorios.
Si lo ejecutas sin parámetros, attrib muestra los atributos de todos los archivos del directorio actual, incluidos los ocultos y de sistema, lo que ya es útil para diagnosticar por qué algo no aparece en el Explorador de archivos o no se deja modificar.
La sintaxis completa, tal y como documenta Microsoft en las versiones actuales de Windows, es la siguiente:
attrib ]
En versiones más antiguas de MS‑DOS y Windows, la sintaxis era más corta, pero la idea sigue siendo la misma: un conjunto de letras que representan atributos y varios modificadores que controlan qué se procesa exactamente.
Significado de los atributos principales (+/-r, a, s, h, o, i, x, p, u, b)
Todos los atributos se modifican del mismo modo: un signo + para activarlos y un signo – para desactivarlos, seguido de la letra que identifica el atributo. Por ejemplo, +r añade el atributo de solo lectura y -h elimina el de oculto.
| Atributo | Letra | Qué hace |
|---|---|---|
| Solo lectura | r | El archivo no se puede modificar ni sobrescribir fácilmente. Todos los usuarios, incluidos administradores, respetan este atributo a nivel de operación normal. |
| Archivo (archivado) | a | Marca el fichero como “listo para archivar”. Lo usan programas de copia de seguridad (como robocopy o xcopy) para saber qué archivos han cambiado desde la última copia. |
| Sistema | s | Indica que es un archivo de sistema, usado internamente por Windows. Suele ir de la mano del atributo oculto para evitar borrados accidentales. |
| Oculto | h | Hace que el archivo no aparezca en listados normales (salvo que tengas activado “mostrar archivos ocultos”). Es muy usado por el propio sistema… y también por malware. |
| Sin conexión (offline) | o | Marca un archivo como no disponible inmediatamente; típico en soluciones de almacenamiento remoto o en capas de datos que se mueven fuera del disco local. |
| No indizado (Not Content Indexed) | i | Indica que el contenido no debe indexarse para búsquedas de texto. Sirve para evitar que el servicio de indexación rastree ciertos archivos. |
| Limpieza (integridad / scrub) | x | Relacionado con mecanismos de integridad y limpieza de datos en ciertos sistemas de archivos y configuraciones avanzadas. |
| Anclado | p | Marca el archivo como “pinneado” o anclado en escenarios de sincronización (por ejemplo con sistemas de archivos que mueven datos a la nube). |
| Desanclado | u | Indica que el archivo está “unpinned” o desanclado, permitiendo que se descargue o mueva según las políticas de almacenamiento. |
| Blob SMR | b | Atributo especializado para archivos blob en discos SMR (Shingled Magnetic Recording), usado en escenarios muy concretos de almacenamiento. |
Es importante entender que estos atributos son globales para todos los usuarios. Si un archivo está marcado como solo lectura, da igual qué usuario lo abra: a nivel lógico, se tratará como no modificable, aunque un administrador siempre puede quitar el atributo con attrib -r o cambiar permisos NTFS.
Atributos clásicos de Windows y cómo afectan al uso diario

Además de la capa de attrib, Windows expone muchos de estos atributos desde la propia interfaz gráfica. Si abres las propiedades de un fichero (clic derecho > Propiedades o Alt+Enter), verás varios de ellos bajo la pestaña General y el botón “Avanzados…”.
A grandes rasgos, los atributos más habituales que vas a tocar en el día a día son:
- R (ReadOnly): archivo de solo lectura; evita cambios accidentales.
- A (Archive): archivo marcado para ser incluido en la próxima copia de seguridad incremental.
- H (Hidden): archivo oculto en listados normales.
- S (System): archivo de sistema, crítico para el SO o aplicaciones.
Cuando activas opciones como “Comprimir contenido para ahorrar espacio en disco” o “Cifrar contenido para proteger datos” en el cuadro de propiedades avanzado, en realidad Windows está jugando con otros atributos de bajo nivel: FILE_ATTRIBUTE_COMPRESSED, FILE_ATTRIBUTE_ENCRYPTED, etc., además de marcar los nombres en azul para comprimidos y verde para cifrados en el Explorador.
Parámetros de ruta y comodines
Después de las letras de atributos, puedes indicar unidad, ruta y nombre de archivo para decirle a attrib dónde debe actuar:
attrib +r C:\Docs\informe.docx
Si no especificas nada, el comando trabaja en el directorio actual. También puedes usar comodines como * y ? para abarcar grupos de archivos, por ejemplo:
attrib -h -s C:\Backup\*.bak
Con esto, estarías quitando los atributos de oculto y sistema a todos los .bak de esa carpeta. Es una manera muy rápida de corregir cambios masivos de atributos sin ir fichero a fichero.
Modificadores /s, /d y /l: control fino sobre qué se procesa
Los modificadores de comportamiento permiten afinar bastante dónde se aplican los cambios:
- /s: procesa archivos en la carpeta indicada y en todos sus subdirectorios. Es la clave cuando quieres actuar de forma recursiva.
- /d: indica que también se deben procesar directorios (carpetas), no solo archivos.
- /l: aplica cambios al enlace simbólico en sí y no al destino, útil cuando trabajas con symlinks avanzados.
Por ejemplo, si quieres quitar atributos de solo lectura, oculto y sistema a todo el contenido de una memoria USB en F:, incluidas sus carpetas, podrías hacer:
attrib -s -h -r F:\*.* /s /d
Este tipo de comando es especialmente útil cuando un malware ha alterado de golpe atributos de cientos de archivos y quieres deshacer el destrozo sin perder tiempo manualmente en el Explorador.
Ejemplos prácticos con attrib en Windows
Veamos algunos usos muy típicos del comando attrib que te sacan de un apuro en segundos.
Ver atributos de un archivo concreto
Si estás en el directorio donde está el fichero news86, basta hacer:
attrib news86
Esto mostrará algo como:
A C:\ruta\news86
Donde la presencia de letras delante de la ruta indica qué atributos tiene. Verás combinaciones como R, H, S y A en distintas posiciones.
Marcar un archivo como solo lectura
Para proteger un documento llamado report.txt de cambios accidentales, puedes hacer:
attrib +r report.txt
Desde ese momento, cualquier intento de guardar encima del archivo te dará problemas hasta que vuelvas a ejecutar attrib -r report.txt o cambies el atributo desde la interfaz gráfica.
Quitar solo lectura de todos los archivos de una ruta
Imagina que en b:\public tienes un montón de ficheros marcados como solo lectura y necesitas que vuelvan a ser editables. Con este comando:
attrib -r b:\public\*.* /s
estás retirando el atributo de solo lectura a todos los archivos de ese directorio y sus subcarpetas, sin tocar otros atributos como oculto o sistema.
Combinar comandos attrib en la misma línea
También se pueden encadenar varias llamadas en una sola línea, algo muy habitual en scripts por lotes. Por ejemplo, establecer el atributo de archivado a todo el contenido de la unidad A: y, a continuación, quitarlo solo a los .bak:
attrib +a a:*.* & attrib -a a:*.bak
El primer attrib marca todos los archivos como “listos para copia de seguridad” y el segundo excluye los .bak, quizás porque no te interesa incluirlos en una copia incremental.
Uso real: recuperar archivos “perdidos” tras un malware
Un caso muy común en entornos domésticos y de oficina es el típico pendrive infectado que “pierde” todos los archivos. En realidad, muchos de estos malware no borran nada: se limitan a marcar tus carpetas como ocultas y de sistema y las sustituyen por accesos directos sospechosos.
En este escenario, verás que tu USB (por ejemplo, unidad F:) está vacío o lleno de accesos directos que abren cosas raras. Pero si miras con cuidado desde la consola, verás que el espacio usado sigue siendo el mismo: los datos están ahí, solo que escondidos tras atributos maliciosos.
Un remedio rápido y efectivo es abrir una ventana de símbolo del sistema, ir a la unidad del pendrive y ejecutar:
F:
attrib -s -r -h /s /d
Con este comando, quitas los atributos de sistema, solo lectura y oculto a todos los archivos y carpetas del dispositivo, de forma recursiva. Pasados unos segundos, tus carpetas vuelven a ser visibles en el Explorador y puedes copiarlas, analizarlas con tu antivirus y limpiar la infección con calma.
Attrib en scripts por lotes (BatchScript)
Combinar attrib con otros comandos en archivos .bat o .cmd te permite automatizar muchas tareas de mantenimiento. A esta técnica clásica se le suele llamar “programación por lotes”.
Un esquema general de uso dentro de un script es algo así:
attrib
Donde:
- son combinaciones como +r -h -s.
- puede ser una unidad (F:), una carpeta completa (F:\alguna-carpeta\) o un patrón con comodines.
- suelen ser /s y /d para recorrer subdirectorios y afectar también a carpetas.
Esto te permite, por ejemplo, preparar scripts de “desbloqueo” de memorias USB, limpiar atributos de repositorios de backup, o asegurarte de que ciertos ficheros de configuración estén siempre marcados como solo lectura antes de arrancar un servicio.
Attrib frente a la interfaz gráfica de Windows
Aunque la línea de comandos es muy potente, no siempre hace falta usar attrib para gestionar atributos. De hecho, Windows expone la mayoría de ellos gráficamente:
- En Propiedades > pestaña General puedes marcar Solo lectura u Oculto.
- En el botón Avanzados… puedes activar “Comprimir contenido para ahorrar espacio en disco” o “Cifrar contenido para proteger datos”.
- En la pestaña Detalles puedes ver mucha información adicional (metadatos) y algunos atributos ampliados.
Además, existen herramientas de terceros que permiten ver y modificar atributos de forma muy detallada, incluso atributos menos habituales y metadatos extendidos. Por ejemplo, hay utilidades específicas que listan todos los bits de atributo y permiten cambiarlos con un par de clics, algo cómodo si no te apetece trabajar siempre en consola.
Definiciones técnicas de los atributos más relevantes
Si quieres ir un paso más allá y entender cómo ve Windows estos atributos a bajo nivel, aquí tienes un pequeño repaso con su nombre simbólico y valor hexadecimal:
- FILE_ATTRIBUTE_READONLY (0x00000001): equivale al atributo R. Indica que el fichero está marcado como solo lectura. Impide sobrescrituras y borrados accidentales en operaciones normales.
- FILE_ATTRIBUTE_HIDDEN (0x00000002): corresponde a H. El archivo queda oculto en listados estándar, salvo que se configure lo contrario en las opciones de carpeta.
- FILE_ATTRIBUTE_SYSTEM (0x00000004): es S. Marca un fichero como de sistema, utilizado internamente por el SO y, en general, mejor no tocarlo salvo que sepas muy bien lo que haces.
- FILE_ATTRIBUTE_DIRECTORY (0x00000010): se representa como D. Señala que la entrada es una carpeta, no un archivo convencional.
- FILE_ATTRIBUTE_ARCHIVE (0x00000020): atributo A. Permite que los programas de copia diferencial sepan qué archivos han cambiado desde la última copia.
- FILE_ATTRIBUTE_NORMAL (0x00000080): indica que el fichero no tiene otros atributos especiales activos. Es un valor “limpio”; si se activa cualquier otro, este se ignora.
- FILE_ATTRIBUTE_TEMPORARY (0x00000100): marca un archivo como temporal. Windows puede optar por mantenerlo en memoria o tratarlo de forma distinta a nivel de cacheo y escritura en disco.
- FILE_ATTRIBUTE_OFFLINE (0x00001000): ya comentado con la letra O; indica que los datos no están inmediatamente disponibles, típico de soluciones de almacenamiento jerárquico o remoto.
- FILE_ATTRIBUTE_NOT_CONTENT_INDEXED (0x00002000): atributo “no indizado”. En muchos GUI aparece como la opción que permite o impide que Index Server (o Windows Search) indexe el contenido del archivo.
- FILE_ATTRIBUTE_COMPRESSED (0x00000800): representa que el archivo o carpeta está comprimido a nivel de sistema de archivos (NTFS). No se puede combinar con cifrado en el mismo objeto.
- FILE_ATTRIBUTE_ENCRYPTED (0x00004000): indica que el contenido está cifrado (EFS). Solo el usuario que cifró el fichero (o sus claves) puede acceder a él; de nuevo, no se combina con compresión.
Aunque muchos de estos valores no los toques directamente con attrib (porque Windows se encarga a través de la GUI), entenderlos te ayuda a interpretar comportamientos raros, como archivos con nombre en azul o verde, ficheros que no se incluyen en búsquedas, o datos que el sistema trata de forma distinta por ser temporales u offline.
Los atributos de archivos y directorios en Windows no son un simple detalle técnico escondido en la consola, sino una pieza clave de cómo el sistema decide qué puedes ver, editar, respaldar o incluso encontrar en una búsqueda. Dominar el comando attrib, sus parámetros (+/-r, a, s, h, o, i, x, p, u, b) y modificadores como /s, /d y /l te da un control fino que la interfaz gráfica no siempre ofrece, te permite automatizar tareas en scripts por lotes y, de paso, te ofrece una vía rápida para recuperar archivos cuando un malware juega a ocultarlos. Comparte la información para que toros conozcan del tema.
