¿Por qué dir *. * Enumera todos los archivos y carpetas?

A veces, puede terminar con resultados inesperados al ejecutar comandos, por lo que aprender el «por qué» detrás de los resultados puede ser muy interesante. Con eso en mente, la publicación de preguntas y respuestas de SuperUser de hoy tiene la respuesta a la pregunta de un lector curioso.

La sesión de preguntas y respuestas de hoy nos llega por cortesía de SuperUser, una subdivisión de Stack Exchange, un grupo de sitios web de preguntas y respuestas impulsado por la comunidad.

La pregunta

El lector de superusuario Luu Vinh Phuc quiere saber por qué dir *. * Enumera todos los archivos y carpetas:

Cuando ejecuto el comando dir *. *, Produce resultados inesperados. Incluso se enumeran los archivos y carpetas sin ningún punto en el nombre. Por ejemplo:

¿Porqué es eso? ¿Hay alguna forma de enumerar solo los archivos con un punto?

¿Por qué dir *. * Enumera todos los archivos y carpetas?

La respuesta

Fleet Command, colaborador de superusuario, tiene la respuesta para nosotros:

El comando DIR proviene de una época en la que:

  • No se permitió un punto (.) Como carácter en los nombres de archivos o carpetas
  • Los nombres de archivos y carpetas se restringieron a 8 caracteres para los nombres y a 3 caracteres para las extensiones

Por lo tanto, según ese estándar, *. * Significaba cualquiera que fuera el nombre y la extensión. No significa una cadena que contiene un «.», Que puede tener o no caracteres antes o después del «.».

La política de Microsoft es preservar la compatibilidad con versiones anteriores, por lo que se conserva la interpretación de *. *. Pero en Windows PowerShell, *. * Significa una cadena que contiene un «.», Que puede tener o no caracteres antes o después del «.».


¿Tiene algo que agregar a la explicación? Habla en los comentarios. ¿Quieres leer más respuestas de otros usuarios de Stack Exchange expertos en tecnología? Consulte el hilo de discusión completo aquí .