appDataLocationやtempLocationのような場所にはパスにスペースを含めることができますか?

appDataLocationやtempLocationのような場所にはパスにスペースを含めることができますか?
C:\Users\username\AppData\Roaming
C:\Users\username\AppData\Local\Temp

私は Windows 用のアプリを作成しており、私のアプリでは上記の 2 つの場所を頻繁に使用します。予期せぬ事態を避けるために、Windows がこれらの場所のパスにスペースを含めることを許可しているかどうかを確実に知りたいのです。例:

C:\Users\user Name\AppData\Roaming
C:\Users\user Name\AppData\Local\Temp

いくつかの MS ドキュメントを確認しましたが、この特定の情報は見つかりませんでした。

答え1

確かにそうかもしれません。ユーザー名だけが理由ではありません。

すべての Windows 2000/XP システムでは、これらの 2 つのディレクトリは次の場所にありました。

C:\Documents and Settings\User\Application Data
C:\Documents and Settings\User\Local Settings\Temp

(この名前は意図的に選ばれたという噂を聞いたことがあります。「C:\Program Files」だけでは不十分な場合に備えて、長いファイル名を受け入れるように新しく作成されたプログラム。

これらの Windows バージョンは現在ほとんどサポートされていませんが、同じシステムを 2000/XP から Vista/7 に、さらにそこから Win8/10 に直接アップグレードした場合、このようなパスがアプリ構成に残っている可能性があります。Windows が古い名前を新しい名前にポイントする隠しシンボリックリンクを作成するため、最新バージョンでも有効なパスのままです。

一般的に、よく書かれたプログラムはいつもパスにはスペース、カンマ、アポストロフィ、その他の奇妙な文字が含まれる可能性があります。これらは、2000年の「C:\My Documents」以来、パスで許可されています。ウィンドウズ95– 2021 年には、これらは「サプライズ」ではなく、基本的な想定となるはずです。

答え2

ユーザー名/アカウント名に制限はありません。スペースを含めることができますが、ドキュメントではそのことについて言及する必要はないと考えています。

例えば、投稿をご覧ください Windows 10 - 空白と PATH を含むユーザー名ユーザー名は「Miha Šušteršič」でした。

答え3

名前にスペースを入れることができます。

以下は私のマシンでの例です。

それ以外の場合は、フォルダー名は Windows とまったく同じように使用する必要があります (例: AppData にはスペースがありません)。

スペースを含むユーザー名

関連情報