A variável% USERPROFILE% não está funcionando

17

Se eu tentar criar arquivos no prompt de comando usando os comandos

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

meu computador criará os arquivos sem problemas.

No entanto, se eu usar os comandos

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

o prompt de comando responde com

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

Como faço para corrigir isso?

user210720
fonte

Respostas:

27

A %UserProfile%variável é uma variável de ambiente especial para todo o sistema, completa por si só. Contém%SystemDrive%\Users\{username}

Veja esta tabela fantástica que destaca as diferenças entre as variáveis ​​no Windows XP (NT5) e Windows Vista / 7/8 (NT6) .

Experimentar

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

Seu valor é o local do diretório de perfil do usuário atual, no qual se encontra a seção de registro HKEY_CURRENT_USER (HKCU) do usuário (NTUSER).

G Koe
fonte
13

Eu suponho que você misturou as variáveis %USERPROFILE%e %USERNAME%.

Por padrão, %USERPROFILE%e C:\Users\%USERNAME%aponte para o mesmo local. Como isso não é garantido, o uso %USERPROFILE%é uma abordagem mais confiável.

Em geral, ao depurar um comando como

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

seu primeiro passo deve ser o prefixo echo.

O comando

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

teria mostrado o seguinte:

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

o que claramente não é o que você deseja.

Você também pode consultar o valor %USERPROFILE%executando

set USERPROFILE

Para ver todas as variáveis ​​de ambiente definidas atualmente, execute

set
Dennis
fonte
8

Na verdade, parece que o OP está procurando não apenas C: \ Users \ Someone, mas a pasta AppData \ Roaming desse usuário. Então, o caminho mais rápido para usar

%APPDATA%

No exemplo do OP, ele usaria

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

A variável% USERPROFILE% geralmente inclui C: \ Users \ AccountName, portanto, o uso correto seria

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

user475349
fonte
Isso já foi explicado nas duas respostas existentes. Se você gosta deles, tente ganhar reputação e vomite-os quando tiver 15 representantes .
gronostaj
Bem-vindo ao Super Usuário! Isso duplica outra resposta e não adiciona novo conteúdo. Não poste uma resposta, a menos que você realmente tenha algo novo para contribuir.
DavidPostill