15

Если я пытаюсь создать файлы в командной строке с помощью команд

mkdir C:\Users\Tristan\AppData\Roaming\modinstaller\recovery
mkdir C:\Users\Tristan\AppData\Roaming\modinstaller\mods

мой компьютер создаст файлы без проблем.

Однако, если я использую команды

mkdir C:\Users\%USERPROFILE%\AppData\Roaming\modinstaller\recovery
mkdir C:\Users\%USERPROFILE%\AppData\Roaming\modinstaller\mods

командная строка отвечает

The filename, directory name, or volume label syntax is incorrect.

Как это исправить?

4 ответа4

24

%UserProfile% является специальной общесистемной переменной среды, которая сама по себе является полной.  Он содержит %SystemDrive%\Users\{username}

Посмотрите эту фантастическую таблицу, которая подчеркивает различия между переменными в Windows XP (NT5) и Windows Vista/7/8 (NT6).

Пытаться

mkdir %userprofile%\AppData\Roaming\modinstaller\mods

Его значением является местоположение каталога профиля текущего пользователя, в котором находится куст реестра HKEY_CURRENT_USER (HKCU) этого пользователя (NTUSER).

12

Я предполагаю, что вы перепутали переменные %USERPROFILE% и %USERNAME% .

По умолчанию %USERPROFILE% и C:\Users\%USERNAME% указывают на одно и то же местоположение. Поскольку это не гарантируется, использование %USERPROFILE% является более надежным подходом.

В общем, при отладке команды вроде

mkdir C:\Users\%USERPROFILE%\AppData\Roaming\modinstaller\recovery

Ваш первый шаг должен состоять в том, чтобы добавить echo .

Команда

echo mkdir C:\Users\%USERPROFILE%\AppData\Roaming\modinstaller\recovery

показал бы вам следующее:

mkdir C:\Users\C:\Users\Tristan\AppData\Roaming\modinstaller\recovery

что явно не то, что вы хотите.

Вы также можете запросить значение %USERPROFILE% , выполнив

set USERPROFILE

Чтобы увидеть все текущие переменные среды, выполните

set
7

На самом деле кажется, что OP ищет не только C:\Users\Someone, но и папку AppData\Roaming этого пользователя. Итак, самый быстрый путь есть

%APPDATA%

В примере ОП он использовал бы

mkdir %APPDATA%\modinstaller\recovery
mkdir %APPDATA%\modinstaller\mods
-1

Переменная% USERPROFILE% обычно включает в себя C:\Users\AccountName, поэтому правильное использование будет

mkdir% USERPROFILE%\AppData\Roaming\modinstaller\recovery

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .