2013-03-27 00:54:35 +0000 2013-03-27 00:54:35 +0000
18
18

%USERPROFILE% variabele werkt niet

Als ik in de opdrachtprompt bestanden probeer te maken met de commando’s

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

dan maakt mijn computer de bestanden zonder problemen aan.

Als ik echter de commando’s

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

gebruik, reageert de opdrachtprompt met

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

Hoe kan ik dit oplossen?

Antwoorden (4)

28
28
28
2013-03-27 00:59:51 +0000

De %UserProfile% variabele is een speciale systeembrede omgevingsvariabele die volledig op zichzelf staat.  Het bevat %SystemDrive%\Users\{username}

Zie deze fantastische tabel die de verschillen tussen variabelen in Windows XP (NT5) en Windows Vista/7/8 (NT6) aangeeft .

Probeer

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

De waarde is de locatie van de profielmap van de huidige gebruiker, waarin zich het HKEYCURRENTUSER (HKCU) registry hive (NTUSER) van die gebruiker bevindt.

14
14
14
2013-03-27 01:13:49 +0000

Ik neem aan dat je de variabelen %USERPROFILE% en %USERNAME% door elkaar haalt.

Standaard wijzen %USERPROFILE% en C:\Users\%USERNAME% naar dezelfde plaats. Aangezien dit niet gegarandeerd waar is, is het gebruik van %USERPROFILE% een meer betrouwbare benadering.

In het algemeen zou je bij het debuggen van een commando als

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

eerst echo moeten toevoegen.

Het commando

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

zou je het volgende hebben laten zien:

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

wat duidelijk niet is wat je wilt.

Je kunt ook de waarde van %USERPROFILE% opvragen door het commando

set USERPROFILE

uit te voeren. Om alle huidige gedefinieerde omgevingsvariabelen te zien, voer je het commando

set
``` uit.
8
8
8
2015-09-10 13:24:01 +0000

Het lijkt erop dat de OP niet alleen zoekt naar C:\Users\Someone maar ook naar de map AppData\Roaming van die gebruiker. Dus, het snelste pad daarheen is om

%APPDATA%

In het voorbeeld van de OP, zou hij

mkdir %APPDATA%\modinstaller\recovery
mkdir %APPDATA%\modinstaller\mods
``` gebruiken
-1
-1
-1
2015-07-30 11:35:01 +0000

De variabele %USERPROFILE% bevat gewoonlijk de C:gebruikersnaam, dus het juiste gebruik zou zijn

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