%USERPROFILE% variable not working
Matthew Barrera
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\modsmy 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\modsthe command prompt responds with
The filename, directory name, or volume label syntax is incorrect.How do I fix this?
5 Answers
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\modsIts 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).
0I 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\recoveryyour first step should be to prepend echo.
The command
echo mkdir C:\Users\%USERPROFILE%\AppData\Roaming\modinstaller\recoverywould have shown you the following:
mkdir C:\Users\C:\Users\Tristan\AppData\Roaming\modinstaller\recoverywhich is clearly not what you want.
You can also query the value of %USERPROFILE% by executing
set USERPROFILETo 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\recoveryuse this:
mkdir $home\AppData\Roaming\modinstaller\recovery 1 The %USERPROFILE% variable usually includes the C:\Users\AccountName so the correct usage would be
mkdir %USERPROFILE%\AppData\Roaming\modinstaller\recovery
2