Die Variable% USERPROFILE% funktioniert nicht

16

Wenn ich versuche, Dateien in der Eingabeaufforderung mit den Befehlen zu erstellen

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

Mein Computer wird die Dateien ohne Probleme erstellen.

Allerdings wenn ich die befehle benutze

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

Die Eingabeaufforderung antwortet mit

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

Wie behebe ich das?

user210720
quelle

Antworten:

27

Die %UserProfile%Variable ist eine spezielle systemweite Umgebungsvariable, die an und für sich vollständig ist. Es beinhaltet%SystemDrive%\Users\{username}

Sehen Sie sich diese fantastische Tabelle an, in der die Unterschiede zwischen Variablen in Windows XP (NT5) und Windows Vista / 7/8 (NT6) hervorgehoben werden .

Versuchen

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

Sein Wert ist der Speicherort des Profilverzeichnisses des aktuellen Benutzers, in dem sich die Registrierungsstruktur HKEY_CURRENT_USER (HKCU) des Benutzers (NTUSER) befindet.

G Koe
quelle
13

Ich nehme an, Sie haben die Variablen %USERPROFILE%und verwechselt %USERNAME%.

Standardmäßig %USERPROFILE%und C:\Users\%USERNAME%zeigen Sie auf den gleichen Speicherort. Da dies nicht garantiert ist, ist die Verwendung %USERPROFILE%ein zuverlässigerer Ansatz.

In der Regel beim Debuggen eines Befehls wie

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

Ihr erster Schritt sollte das Voranstellen sein echo.

Der Befehl

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

hätte dir folgendes gezeigt:

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

das ist eindeutig nicht was du willst.

Sie können den Wert von auch abfragen, %USERPROFILE%indem Sie ausführen

set USERPROFILE

Um alle aktuell definierten Umgebungsvariablen anzuzeigen, führen Sie aus

set
Dennis
quelle
8

Offenbar sucht das OP nicht nur nach C: \ Users \ Someone, sondern auch nach dem Ordner AppData \ Roaming dieses Benutzers. Der schnellste Weg ist also

%APPDATA%

Im Beispiel des OP würde er verwenden

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

Die Variable% USERPROFILE% enthält normalerweise C: \ Users \ AccountName, sodass die korrekte Verwendung gegeben ist

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

user475349
quelle
Dies wurde bereits in beiden vorhandenen Antworten erläutert. Wenn Sie sie mögen, versuchen Sie, einen Ruf zu erlangen und sie zu verbessern, wenn Sie 15 Wiederholungen haben .
Gronostaj
Willkommen bei Super User! Dies dupliziert eine andere Antwort und fügt keinen neuen Inhalt hinzu. Bitte posten Sie keine Antwort, es sei denn, Sie haben tatsächlich etwas Neues beizutragen.
DavidPostill