Ver Mensaje Individual
  #1  
Antiguo 23-03-2008
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 545
Reputación: 17
jhonalone Va por buen camino
¿Cómo obtener nombres Ficheros MS-DOS?

Necesito un método fiable, para obtener los nombres de fichero abreviados, es decir (8.3).
He desarrollado una utilidad con FindFirst que lo consigue, pero (siempre tiene que haber algun pero) aunque, aparentemente funciona bien, la he probado en mi antiguo sistema Windows ME, cuyo MS-DOS todavía los edita en este formato y en general muy bien.
El "pero" es el siguiente: cuando existen más de un fichero que tienen el comienzo del nombre igual, por ejemplo: si tenemos dos directorios tales como "Pepito Perez" y "Pepito Perez Lopez" los listaria de este modo
  • PEPITO~1 (correspondería a "Pepito Perez Lopez" P.Ej)
  • PEPITO~2 (Correspondería a "Pepito Perez" P.Ej)
Pues cuando los edito con mi utilidad, pueden no corresponder, es decir
    • PEPITO~2 (correspondería a "Pepito Perez Lopez" P.Ej)
    • PEPITO~1 (Correspondería a "Pepito Perez" P.Ej)
Pensaba que tendría que ver con el orden de creación, pero he comprobado que ficheros que se crearon con fecha posterior tienen una numeración más baja.

Estoy un poquito, mejor un MUCHITO, liado y no sé como resolverlo.

Pensaba que lo había hecho bien, pero al no coincidirme los ficheros, me he quedado muy desilusionado.

Espero que alguien me eche una mano. No me vale GetShortPathName, pues empecé por ahí y me da problemas cuando hay mas de 4 directorios o ficheros que comienzan con las mismas letras. Hasta el cuarto fichero funciona, pero si le pides el path desde el quinto se descontrola. Curioso, pero verdad.

Si consigo resolverlo lo pondré como truco por si le interesa a alguien.

Perdonad la parrafada, pero quería dejar claro el problema.

Espero vuestra ayuda.

Un saludo.
Responder Con Cita