Variabile% USERPROFILE% non funzionante


17

Se provo a creare file nel prompt dei comandi utilizzando i comandi

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

il mio computer creerà i file senza problemi.

Tuttavia, se uso i comandi

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

il prompt dei comandi risponde con

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

Come posso risolvere questo problema?

Risposte:


27

La %UserProfile%variabile è una speciale variabile di ambiente a livello di sistema che è completa in sé e per sé. Contiene%SystemDrive%\Users\{username}

Vedi questa fantastica tabella che evidenzia le differenze tra le variabili in Windows XP (NT5) e Windows Vista / 7/8 (NT6) .

Provare

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

Il suo valore è la posizione della directory del profilo dell'utente corrente, in cui si trova l'hive del registro HKEY_CURRENT_USER (HKCU) dell'utente (NTUSER) dell'utente.


13

Presumo che tu abbia confuso le variabili %USERPROFILE%e %USERNAME%.

Per impostazione predefinita, %USERPROFILE%e C:\Users\%USERNAME%puntano alla stessa posizione. Poiché non è garantito che ciò sia vero, l'utilizzo %USERPROFILE%è un approccio più affidabile.

In generale, quando si esegue il debug di un comando come

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

il tuo primo passo dovrebbe essere anteporre echo.

Il comando

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

ti avrebbe mostrato quanto segue:

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

che chiaramente non è quello che vuoi.

È inoltre possibile eseguire una query sul valore di %USERPROFILE%eseguendo

set USERPROFILE

Per vedere tutte le variabili d'ambiente attualmente definite, eseguire

set

8

In realtà sembra che l'OP stia cercando non solo la cartella AppData \ Roaming di C: \ Users \ Someone dell'utente. Quindi, il percorso più veloce che c'è da usare

%APPDATA%

Nell'esempio del PO, avrebbe usato

mkdir %APPDATA%\modinstaller\recovery
mkdir %APPDATA%\modinstaller\mods

-1

La variabile% USERPROFILE% di solito include C: \ Users \ AccountName, quindi l'utilizzo corretto sarebbe

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


Questo è già stato spiegato in entrambe le risposte esistenti. Se ti piacciono, cerca di guadagnare un po 'di reputazione e votale quando hai 15 rappresentanti .
gronostaj,

Benvenuto in Super User! Questo duplica un'altra risposta e non aggiunge nuovi contenuti. Per favore non pubblicare una risposta a meno che tu non abbia effettivamente qualcosa di nuovo da contribuire.
DavidPostill
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.