Abreviação para Meus Documentos no Windows 7

Abreviação para Meus Documentos no Windows 7

Eu tenho um programa que precisa acessar um compilador c++ que instalei na pasta Meus Documentos - digamos d:\Meus Documentos

O programa não consegue lidar com um espaço no caminho e o caminho já está entre aspas duplas. Eu tentei descobrir o nome abreviado usando dir /xe for %I in (.) do echo %~sI. Isso apenas retorna o nome completo de Meus Documentos. Eu também tentei %userprofile%\documents, mas o programa não reconhece isso.

Por que não consigo obter o nome abreviado desta pasta usando este comando? Existe outra maneira de obter o nome abreviado ou um provável truncamento?

Responder1

Você pode estar olhando para um link ou atalho.

O local padrão de "Meus Documentos" é:

C:\Users\%USERNAME%\Documents

Então, se seu %USERNAME% for "meunome", você faria referência a:

C:\Users\myname\Documents

Parece que você está usando um programa antigo do command.com que precisa de nomes de arquivos do DOS 8.3. Neste caso você pegaria os primeiros seis caracteres e adicionaria "~1" para o primeiro item. Se você tivesse dois itens que compartilhassem os mesmos seis primeiros caracteres, o próximo terminaria em "~2" e assim por diante. Para ter certeza, você pode executar "dir /x" para ver quais nomes curtos foram atribuídos a cada pasta.

No meu exemplo final, mostrarei como seria um nome de usuário longo neste formato. O nome de usuário de exemplo será "longusername".

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

Siga este padrão com seu próprio nome de usuário.

Se os seus "Meus Documentos" não estiverem no local padrão ou você quiser encontrar o local dinamicamente, verifique o seguinte local do registro:

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

Responder2

dir /xexibirá o nome abreviado de arquivos e pastas, se existir. Existirá um, se o nome longo for maior que o formato de 8,3 caracteres.

Por exemplo, aqui está um exemplo de uso dir /xna minha pasta de perfil de usuário:

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 o nome abreviado é mostrado ao lado do nome longo.

Observe também que o padrão para encurtar o nome é remover espaços, encurtar o nome para 6 caracteres e adicionar ~1, colocar todas as letras em maiúscula, adicionar os 3 primeiros caracteres da extensão do arquivo. Se houver um conflito, um ~2 será adicionado e assim por diante.

Se assumirmos que sua pasta de documentos está salva em D:\My Documentse que não há outros nomes conflitantes, o nome abreviado será D:\MYDOCU~1.

Você provavelmente não pode usar% userprofile% pelo mesmo motivo que não pode usar nomes de arquivos longos. O programa simplesmente não entende variáveis ​​de ambiente. E também não está usando a versão abreviada.

informação relacionada