%USERPROFILE%変数が機能しない


17

コマンドを使用してコマンドプロンプトでファイルを作成しようとすると

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

私のコンピューターは問題なくファイルを作成します。

ただし、コマンドを使用する場合

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

コマンドプロンプトが応答します

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

どうすれば修正できますか?

回答:


27

%UserProfile%変数は、それ自体は完了している特別なシステム全体の環境変数です。を含む%SystemDrive%\Users\{username}

Windows XP(NT5)とWindows Vista / 7/8(NT6)の変数の違い強調したこの素晴らしい表をご覧ください。

試してみる

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

その値は、現在のユーザーのプロファイルディレクトリの場所です。このディレクトリには、そのユーザーのHKEY_CURRENT_USER(HKCU)レジストリハイブ(NTUSER)が見つかります。


13

変数%USERPROFILE%とを混同したと仮定します%USERNAME%

デフォルトでは、同じ場所%USERPROFILE%C:\Users\%USERNAME%指します。これは真実であることが保証されていないため、使用%USERPROFILE%はより信頼性の高いアプローチです。

一般に、次のようなコマンドをデバッグするとき

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

最初のステップは、先頭に追加することechoです。

コマンド

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

次のように表示されます。

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

これは明らかにあなたが望むものではありません。

あなたはまたの値を照会することができます%USERPROFILE%実行することにより、

set USERPROFILE

現在定義されているすべての環境変数を表示するには、実行します

set

8

実際には、OPはC:\ Users \ Someoneだけでなく、そのユーザーのAppData \ Roamingフォルダーも探しているようです。だから、そこに使用する最も速いパスは

%APPDATA%

OPの例では、彼は

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

-1

通常、%USERPROFILE%変数にはC:\ Users \ AccountNameが含まれているため、正しい使用法は次のようになります。

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


これは、既存の両方の回答ですでに説明されています。あなたがそれらを好めば、あなたが15 repを持っているとき、いくつかの評判を得て、それら支持しようとします
グロノスタジュ

スーパーユーザーへようこそ!これは別の回答を複製し、新しいコンテンツを追加しません。実際に何か貢献できるものがない限り、回答を投稿しないでください。
DavidPostill
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.