📁 Estructura de ejemplo
Supongamos que tenemos este directorio:
proyecto/
│
├── carpeta1/
│ ├── archivo1.txt
│ └── archivo2.txt
│
├── carpeta2/
│ └── imagen.png
│
├── carpeta3/
│ └── notas.md
│
├── principal.py
└── README.mdHay:
- 3 carpetas
- Archivos dentro de ellas
- 2 archivos fuera de las carpetas
🐧 En Linux
En Linux, el comando:
Por defecto incluye carpetas y archivos.
📄 Contenido de
archivo.txt
El archivo generado contendrá algo así:
.
├── carpeta1
│ ├── archivo1.txt
│ └── archivo2.txt
├── carpeta2
│ └── imagen.png
├── carpeta3
│ └── notas.md
├── principal.py
└── README.md
3 directories, 6 files✔ Muestra carpetas ✔ Muestra archivos ✔ Incluye conteo final ✔ Usa
caracteres UTF-8 modernos (├──, └──,
│)
🪟 En Windows
Ahora vamos al mismo ejemplo en Windows.
🔹 Caso 1: Usando
tree > archivo.txtEn Windows, por defecto solo muestra carpetas.
📄 Contenido de
archivo.txt
C:.
└── carpeta1
└── carpeta2
└── carpeta3⚠ No aparecen:
- archivo1.txt
- archivo2.txt
- imagen.png
- notas.md
- principal.py
- README.md
Porque Windows tree no muestra archivos sin el
modificador /F.
🔹 Caso 2: Usando /F
tree /F > archivo.txtAhora sí mostrará archivos y carpetas.
📄 Contenido del archivo
C:.
│ principal.py
│ README.md
│
├── carpeta1
│ archivo1.txt
│ archivo2.txt
│
├── carpeta2
│ imagen.png
│
└── carpeta3
notas.md✔ Ahora sí aparecen todos los archivos ❌ No muestra conteo final ⚠ Usa caracteres gráficos extendidos de Windows
🔤 ¿Qué hace /A?
El modificador /A le dice a Windows:
Usa solo caracteres ASCII simples en lugar de caracteres gráficos extendidos.
🔹 Caso 3: Usando /F /A
tree /F /A > archivo.txt📄 Contenido resultante
C:.
| principal.py
| README.md
|
+---carpeta1
| archivo1.txt
| archivo2.txt
|
+---carpeta2
| imagen.png
|
+---carpeta3
notas.md✔ Más compatible ✔ Ideal para subir a GitHub ✔ Se ve bien en Linux ✔ No genera símbolos raros ❌ Visualmente menos bonito que Linux
📊 Comparación Final
| Sistema | Comando | ¿Muestra archivos? | Caracteres | Conteo final |
|---|---|---|---|---|
| Linux | tree > archivo.txt |
✅ Sí | UTF-8 moderno | ✅ Sí |
| Windows | tree > archivo.txt |
❌ No | Extendidos | ❌ No |
| Windows | tree /F > archivo.txt |
✅ Sí | Extendidos | ❌ No |
| Windows | tree /F /A > archivo.txt |
✅ Sí | ASCII simple | ❌ No |
🎯 Conclusión técnica
El equivalente real al comportamiento típico de Linux en Windows es:
tree /F /A > archivo.txtPorque:
/F→ incluye archivos/A→ evita problemas de codificación
¿Qué problema de
codificación evita /A?
El problema no es exactamente “codificación UTF-8 vs ANSI” directamente…
El problema es que:
Windows
treesin/Ausa caracteres gráficos extendidos del código OEM (CP437 o CP850).Cuando rediriges a un archivo (
>), esos caracteres se guardan con esa codificación.Si luego abres ese archivo en:
- VS Code
- Notepad moderno
- Linux
- GitHub
- Un editor configurado en UTF-8
👉 Los caracteres pueden verse mal.
🧪 Ejemplo práctico
Supongamos esta estructura:
proyecto/
└── carpeta1/
└── archivo.txt🔹 En Windows SIN /A
Ejecutas:
tree /F > archivo.txtEl contenido real del archivo puede verse así en algunos editores:
C:.
├── carpeta1
│ └── archivo.txt😬 Eso pasa porque:
- Los caracteres
├──y└──no están en UTF-8. - Se interpretan con otra codificación.
- El editor los muestra corruptos.
En otros casos puede verse así:
ÃÄÄ carpeta1
³ ÀÄÄ archivo.txtDepende del editor y su configuración.
🔹 Ahora con /A
Ejecutas:
tree /F /A > archivo.txtEl archivo contendrá:
C:.
+---carpeta1
| archivo.txtAquí solo se usan:
|+-
Todos son ASCII básico (código 0–127). No dependen de codificación especial.
👉 Se verá bien en:
- Windows
- Linux
- macOS
- GitHub
- Markdown
- Cualquier editor
📌 ¿Por qué pasa esto técnicamente?
Windows tiene dos codificaciones importantes en consola:
- Code Page OEM (ej: 437 o 850)
- UTF-8 (65001)
Cuando haces:
tree > archivo.txtEl archivo se guarda usando la codificación activa de la consola.
Pero muchos editores modernos abren archivos como UTF-8 por defecto.
Si el archivo no es UTF-8, aparecen símbolos raros.
🧠 ¿Entonces /A
cambia la codificación?
No exactamente.
Lo que hace /A es:
Evitar caracteres especiales que dependen de una codificación extendida.
Es decir:
✔ No arregla la codificación ✔ Evita usar caracteres problemáticos
Es una solución preventiva.
🎯 Ejemplo real comparado
❌ Sin /A
├── carpeta
│ └── archivo.txtPuede verse como:
├── carpeta
│ └── archivo.txt✅ Con /A
+---carpeta
| +---archivo.txtSiempre se verá correcto.
💡 Recomendación profesional
Si el archivo:
- Se va a subir a GitHub
- Se va a compartir entre Windows y Linux
- Se va a usar en documentación Markdown
- Se va a versionar en Git
Usa:
tree /F /A > archivo.txtY si quieres máxima compatibilidad moderna:
tree /F /A | Out-File archivo.txt -Encoding utf8

Comentarios
Publicar un comentario