Nombre corto para Mis documentos en Windows 7

Nombre corto para Mis documentos en Windows 7

Tengo un programa que necesita acceder a un compilador de C++ que instalé en la carpeta Mis documentos; digamos d:\Mis documentos.

El programa no puede manejar un espacio en la ruta y la ruta ya está entre comillas dobles. Intenté averiguar el nombre corto usando dir /xy for %I in (.) do echo %~sI. Esto simplemente devuelve el nombre completo de Mis documentos. También lo intenté %userprofile%\documentspero el programa no lo reconoce.

¿Por qué no puedo obtener el nombre corto de esta carpeta usando este comando? ¿Existe otra forma de obtener el nombre corto o un posible truncamiento?

Respuesta1

Es posible que estés viendo un enlace o un acceso directo.

La ubicación predeterminada de "Mis documentos" es:

C:\Users\%USERNAME%\Documents

Entonces, si su %USERNAME% es "minombre", haría referencia a:

C:\Users\myname\Documents

Parece que está utilizando un antiguo programa de Command.com que necesita nombres de archivos de DOS 8.3. En este caso, tomaría los primeros seis caracteres y agregaría "~1" para el primer elemento. Si tuviera dos elementos que compartieran los mismos primeros seis caracteres, el siguiente terminaría en "~2" y así sucesivamente. Para estar seguro, puede ejecutar "dir /x" para ver qué nombres cortos se han asignado a cada carpeta.

En mi ejemplo final, mostraré cómo se vería un nombre de usuario largo en este formato. El nombre de usuario de ejemplo será "nombredeusuariolargo".

C:\Users\LONGUS~1\DOCUME~1

Sigue este patrón con tu propio nombre de usuario.

Si "Mis documentos" no está en la ubicación predeterminada o desea encontrar la ubicación dinámicamente, deberá verificar la siguiente ubicación del registro:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders

Respuesta2

dir /xmostrará el nombre de archivo corto para archivos y carpetas, si existe. Existirá uno si el nombre largo es mayor que el formato de 8,3 caracteres.

Por ejemplo, aquí hay un ejemplo de uso dir /xen mi carpeta de perfil de usuario:

01/02/2018  05:35 PM    <DIR>                       .
01/02/2018  05:35 PM    <DIR>                       ..
10/16/2017  09:41 AM    <DIR>          ASDM~1       .asdm
11/01/2017  01:01 PM    <DIR>          GIMP-2~1.8   .gimp-2.8
11/20/2017  05:26 PM    <DIR>          NETWOR~1     .networkassistant
12/15/2016  09:54 AM    <DIR>          THUMBN~1     .thumbnails
11/16/2017  09:48 PM    <DIR>                       Contacts
07/17/2017  02:23 PM    <DIR>          DOCUME~1     Documents
01/03/2018  01:07 PM    <DIR>          DOWNLO~1     Downloads
03/14/2017  02:43 PM    <DIR>                       GNS3
12/19/2017  01:10 PM    <DIR>          GOOGLE~1     Google Drive
11/16/2017  09:48 PM    <DIR>                       Links
06/22/2017  07:20 AM    <DIR>                       OneDrive

Observe que el nombre corto se muestra junto al nombre largo.

Tenga en cuenta también que el estándar para acortar el nombre es eliminar espacios, acortar el nombre a 6 caracteres y agregar ~1, poner en mayúscula todas las letras y agregar los primeros 3 caracteres de la extensión del archivo. Si hay un conflicto, se agregará ~2 en su lugar, y así sucesivamente.

Si asumimos que su carpeta de documentos está guardada en D:\My Documentsy que no hay otros nombres en conflicto, entonces el nombre corto será D:\MYDOCU~1.

Probablemente no puedas usar %userprofile% por la misma razón que no puedes usar nombres de archivos largos. El programa simplemente no comprende las variables de entorno. Y tampoco utiliza la versión de nombre corto.

información relacionada