Переменная% USERPROFILE% не работает

17

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

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.

Как я могу это исправить?

user210720
источник

Ответы:

27

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

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

Пытаться

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

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

G Koe
источник
13

Я предполагаю, что вы перепутали переменные %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
Деннис
источник
8

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

%APPDATA%

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

mkdir %APPDATA%\modinstaller\recovery
mkdir %APPDATA%\modinstaller\mods
Speedbird186
источник
-1

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

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

user475349
источник
Это уже объяснялось в обоих существующих ответах. Если они вам нравятся, постарайтесь заработать определенную репутацию и повысить их, когда у вас будет 15 повторений .
Гроностай
Добро пожаловать в Супер пользователя! Это дублирует другой ответ и не добавляет новый контент. Пожалуйста, не публикуйте ответ, если у вас нет чего-то нового.
DavidPostill