%USERPROFILE% variable not working
If I try to create files in the command prompt using the commands
mkdir C:\Users\Tristan\AppData\Roaming\modinstaller\recovery
mkdir C:\Users\Tristan\AppData\Roaming\modinstaller\mods
my computer will create the files without problems.
However, if I use the commands
mkdir C:\Users\%USERPROFILE%\AppData\Roaming\modinstaller\recovery
mkdir C:\Users\%USERPROFILE%\AppData\Roaming\modinstaller\mods
the command prompt responds with
The filename, directory name, or volume label syntax is incorrect.
How do I fix this?
The %UserProfile%
variable is a special system-wide environment variable that is complete in and of itself.
It contains %SystemDrive%\Users\{username}
See this fantastic table that highlights the differences between variables in windows XP (NT5) and Windows Vista/7/8 (NT6).
Try
mkdir %userprofile%\AppData\Roaming\modinstaller\mods
Its value is the location of the current user's profile directory, in which is found that user's HKEY_CURRENT_USER (HKCU) registry hive (NTUSER).
I assume you mixed up the variables %USERPROFILE%
and %USERNAME%
.
By default, %USERPROFILE%
and C:\Users\%USERNAME%
point to the same location. Since this is not guaranteed to be true, using %USERPROFILE%
is a more reliable approach.
In general, when debugging a command like
mkdir C:\Users\%USERPROFILE%\AppData\Roaming\modinstaller\recovery
your first step should be to prepend echo
.
The command
echo mkdir C:\Users\%USERPROFILE%\AppData\Roaming\modinstaller\recovery
would have shown you the following:
mkdir C:\Users\C:\Users\Tristan\AppData\Roaming\modinstaller\recovery
which is clearly not what you want.
You can also query the value of %USERPROFILE%
by executing
set USERPROFILE
To see all currently defined environment variables, execute
set
It actually appears the OP is looking not just for C:\Users\Someone but that user's AppData\Roaming folder. So, the quickest path there is to use
%APPDATA%
In the OP's example, he would use
mkdir %APPDATA%\modinstaller\recovery
mkdir %APPDATA%\modinstaller\mods
in PowerShell do not use
mkdir C:\Users\%USERPROFILE%\AppData\Roaming\modinstaller\recovery
use this:
mkdir $home\AppData\Roaming\modinstaller\recovery