2013-03-27 00:54:35 +0000 2013-03-27 00:54:35 +0000
18
18

Zmienna %USERPROFILE% nie działa

Jeśli spróbuję utworzyć pliki w wierszu poleceń za pomocą komend

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

mój komputer utworzy pliki bez problemu.

Jednakże, jeśli użyję komend

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

wiersz poleceń odpowiada

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

Jak to naprawić?

Odpowiedzi (4)

28
28
28
2013-03-27 00:59:51 +0000

Zmienna %UserProfile% jest specjalną systemową zmienną środowiskową, która jest kompletna sama w sobie. Zawiera %SystemDrive%\Users\{username}

Zobacz tę fantastyczną tabelę, która podkreśla różnice pomiędzy zmiennymi w Windows XP (NT5) i Windows Vista/7/8 (NT6) .

14
14
14
2013-03-27 01:13:49 +0000

Zakładam, że pomyliłeś zmienne %USERPROFILE% i %USERNAME%.

Domyślnie %USERPROFILE% i C:\Users\%USERNAME% wskazują na tę samą lokalizację. Ponieważ nie ma gwarancji, że jest to prawda, użycie %USERPROFILE% jest bardziej niezawodnym podejściem.

Ogólnie, podczas debugowania komendy takiej jak

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

pierwszym krokiem powinno być poprzedzenie jej echo.

Komenda

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

pokazałaby co następuje:

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

co oczywiście nie jest tym, czego chcesz.

Możesz również zapytać o wartość %USERPROFILE% wykonując

set USERPROFILE

Aby zobaczyć wszystkie aktualnie zdefiniowane zmienne środowiskowe, wykonaj

set
8
8
8
2015-09-10 13:24:01 +0000

Wygląda na to, że OP szuka nie tylko folderu C:\Users\Someone, ale także AppData\Roaming tego użytkownika. Tak więc najszybszą ścieżką jest użycie

%APPDATA%

W przykładzie OP użyłby

mkdir %APPDATA%\modinstaller\recovery
mkdir %APPDATA%\modinstaller\mods
-1
-1
-1
2015-07-30 11:35:01 +0000

Zmienna %USERPROFILE% zazwyczaj zawiera nazwę C:\Użytkownicy\NKonto, więc poprawnym użyciem byłoby

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