
Yo uso Windows 7 x64.
Si hago clic derecho en la carpeta llamada C:\Longer than (3)
y hago clic en "Enviar a" y lo envío a un archivo .ahk que simplemente muestra los argumentos que recibió, muestra C:\LONGER~3
. Lo mismo ocurre con casi todos los archivos, por ejemplo C:\Новый текстовый документ.txt
se convierte en → C:\700C~1.TXT
.
¿Cómo convierto esos caminos a normales?¿Y cuáles son esas conversiones de ruta?
Respuesta1
Se llama 8.3 nombre de archivo:
Un nombre de archivo 8.3 (también llamado nombre de archivo corto o SFN) es una convención de nombre de archivo utilizada por versiones antiguas de DOS y versiones de Microsoft Windows anteriores a Windows 95 y Windows NT 3.5. También se utiliza en los sistemas operativos modernos de Microsoft como nombre de archivo alternativo al nombre de archivo largo para compatibilidad con programas heredados.
...
Luego, el nombre eliminado se trunca a las primeras 6 letras de su nombre base, seguido de una tilde, seguido de un solo dígito, seguido de un punto, seguido de los primeros 3 caracteres de la extensión.
El dígito es sólo un contador. Para C:\LONGER~3
, es posible que tengas o hayas tenido 3 archivos que comiencen con C:\LONGER
.
Este formato permite convertir nombres de archivos a un formato que no contenga ningún carácter especial, y especialmente espacios en blanco. Es muy útil para eliminar archivos que tienen caracteres especiales invisibles en su nombre, o pasarlos como parámetros que no contienen espacios en blanco (que de otro modo podrían truncarse al primer espacio en blanco).
No hay necesidad funcional de convertir estos nombres al formato largo, ya que funcionan tan bien como los largos.
Para conocer varias formas de convertir nombres 8.3 al formato largo, consulte la publicación
¿Cómo puedo convertir una ruta de nombre corto de Windows en nombres largos dentro de un script por lotes?.
Respuesta2
AFAIK, no puedes obtener el nombre de archivo original. Pero puedes desactivar esta opción mediante el comando:
fsutil.exe 8dot3name set D: 1
esto lo desactivará para el disco D
. Para deshabilitarlo en todo el sistema, use comandos como:
fsutil.exe behavior set disable8dot3 1
PD: No estoy seguro si este comando está disponible en Windows 7