Сокращенное имя для Моих документов в Windows 7

Сокращенное имя для Моих документов в Windows 7

У меня есть программа, которой нужен доступ к компилятору C++, который я установил в папке «Мои документы», скажем, d:\My Documents.

Программа не может обработать пробел в пути, а путь уже заключен в двойные кавычки. Я пытался узнать короткое имя с помощью dir /xи for %I in (.) do echo %~sI. Это просто возвращает полное имя Моих документов. Я также пробовал, %userprofile%\documentsно программа не распознает его.

Почему я не могу получить короткое имя этой папки с помощью этой команды? Есть ли другой способ получить короткое имя или вероятное усечение?

решение1

Возможно, вы смотрите на ссылку или ярлык.

Расположение папки «Мои документы» по умолчанию:

C:\Users\%USERNAME%\Documents

Так что если ваш %USERNAME% - "myname", вы должны сослаться на:

C:\Users\myname\Documents

Похоже, вы используете старую программу command.com, которой нужны имена файлов DOS 8.3. В этом случае вы бы взяли первые шесть символов и добавили "~1" для первого элемента. Если бы у вас было два элемента с одинаковыми первыми шестью символами, то следующий заканчивался бы на "~2" и так далее. Чтобы убедиться, вы можете запустить "dir /x", чтобы увидеть, какие короткие имена были назначены каждой папке.

В моем последнем примере я покажу, как будет выглядеть длинное имя пользователя в этом формате. Пример имени пользователя будет "longusername".

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

Используйте этот шаблон для своего имени пользователя.

Если папка «Мои документы» не находится в расположении по умолчанию или вы хотите динамически найти это расположение, вам следует проверить следующее расположение реестра:

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

решение2

dir /xотобразит короткое имя файла для файлов и папок, если оно существует. Оно будет существовать, если длинное имя больше, чем формат 8.3 символов.

Например, вот пример использования dir /xв моей папке профиля пользователя:

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

Обратите внимание, что короткое имя отображается рядом с длинным именем.

Также обратите внимание, что стандартом для сокращения имени является удаление пробелов, сокращение имени до 6 символов и добавление ~1, заглавных букв, добавление первых 3 символов расширения файла. Если возникнет конфликт, вместо этого будет добавлено ~2 и т. д.

Если предположить, что папка с вашими документами сохранена по адресу D:\My Documentsи нет других конфликтующих имен, то сокращенное имя будет D:\MYDOCU~1.

Вы, вероятно, не можете использовать %userprofile% по той же причине, по которой вы не можете использовать длинные имена файлов. Программа просто не понимает переменные окружения. И она также не использует версию с коротким именем.

Связанный контент