La variable% USERPROFILE% no funciona

17

Si intento crear archivos en el símbolo del sistema con los comandos

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

mi computadora creará los archivos sin problemas.

Sin embargo, si uso los comandos

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

el símbolo del sistema responde con

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

¿Cómo puedo solucionar esto?

usuario210720
fuente

Respuestas:

27

La %UserProfile%variable es una variable de entorno especial de todo el sistema que se completa en sí misma. Contiene%SystemDrive%\Users\{username}

Vea esta fantástica tabla que resalta las diferencias entre las variables en Windows XP (NT5) y Windows Vista / 7/8 (NT6) .

Tratar

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

Su valor es la ubicación del directorio del perfil del usuario actual, en el que se encuentra la sección de registro HKEY_CURRENT_USER (HKCU) de ese usuario (NTUSER).

G Koe
fuente
13

Supongo que confundiste las variables %USERPROFILE%y %USERNAME%.

Por defecto, %USERPROFILE%y C:\Users\%USERNAME%apunta a la misma ubicación. Como no se garantiza que esto sea cierto, el uso %USERPROFILE%es un enfoque más confiable.

En general, al depurar un comando como

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

su primer paso debe ser anteponerse echo.

El comando

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

te hubiera mostrado lo siguiente:

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

que claramente no es lo que quieres.

También puede consultar el valor de %USERPROFILE%ejecutando

set USERPROFILE

Para ver todas las variables de entorno definidas actualmente, ejecute

set
Dennis
fuente
8

En realidad, parece que el OP no solo busca C: \ Users \ Someone sino la carpeta AppData \ Roaming de ese usuario. Entonces, el camino más rápido que hay que usar

%APPDATA%

En el ejemplo del OP, usaría

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

La variable% USERPROFILE% generalmente incluye C: \ Users \ AccountName, por lo que el uso correcto sería

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

usuario475349
fuente
Esto ya se explicó en ambas respuestas existentes. Si te gustan, trata de ganar algo de reputación y vota cuando tengas 15 repeticiones .
gronostaj
¡Bienvenido a Super User! Esto duplica otra respuesta y no agrega contenido nuevo. No publique una respuesta a menos que realmente tenga algo nuevo que aportar.
DavidPostill