前提・実現したいこと
ubuntuではホームディレクトリがありますが、windowsではエクスプローラを見たところありません。windowsにはホームディレクトリはないのですか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答4件
0
投稿2019/02/03 12:44
総合スコア10489
0
「ホームディレクトリ」はありませんが、「ホームフォルダー」等はあります。
UbuntuのようなLinuxや伝統的なUNIXとWindowsでは「ホーム」に関する考え方が異なります。UNIX/Linuxでは環境変数HOME
が設定されているディレクトリをユーザーのホームとしてそこに全てをおくという考えです。.bashrc等の設定から、通常のファイルまで全てです。対して、Windowsでは役目を分割した複数のフォルダーで管理しています。ホームフォルダーはその中の一つに過ぎません。
以下はWindows 10の場合です。古いバージョンでは異なる場合があります。
- ホームフォルダー
ユーザーが通常のファイルを置くことを想定しているフォルダーです。「コンピューターの管理」のユーザーのプロパティにあるプロファイルで設定されます。デフォルト(ローカルパスで値が空)は後述するユーザープロファイルパスと同じです。Active Directoryで管理している場合はファイルサーバーにあるユーザー毎の共有領域をZ:ドライブにマウントして使うことが多いです。ドライブは環境変数HOMEDRIVE
、ドライブを除いたパスは環境変数HOMEPATH
で取得できます。 - プロファイルパス
ユーザー固有の設定やアプリケーションの設定を置くフォルダーです。レジストリ"HKEY_CURRENT_USER"の実体もこのフォルダー直下にあるntuser.datというファイルです。この値はレジストリ"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\アカウントのSID"にあるProfileImagePath
で管理されています。より正確に言うと、ログイン時に、このレジストリの値を読み込み、そこに書いてあるパスからユーザー固有の設定が書いてあるntuser.dat等を読み込みます。
このフォルダーは最初のログイン時に自動的に作成されます。デフォルトは"C:\Users\アカウント名"ですが、同名のフォルダーが既に存在する場合などは、別の名前になる場合があります。また、親フォルダーもレジストリ"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList"のProfilesDirectory
で別のフォルダーに変更することが出来ます。
ユーザーは環境変数USERPROFILE
で取得できます。 - ドキュメントフォルダー
主にドキュメントを入れるフォルダーです。エクスプローラーで「ドキュメント」としてアクセスでき、通常のアプリケーションのデフォルト保存先になります。レジストリ"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders"のPersonal
の値です。デフォルトは"%USERPROFILE\Documents%"になります。レジストリを直接変更する以外に、エクスプローラーの「ドキュメント」のプロパティにある「場所」で変更することもできます。
環境変数でこの値を取得する方法はありませんが、C#等ではEnvironment.GetFolderPath(Environment.SpecialFolder.Personal)
で取得できます。
他にもアプリケーション固有情報をおくフォルダー(環境変数APPDATA
でアクセス可能)やデスクトップ、ダウンロード、ピクチャ等があります。
しかし、Windowsでは環境変数HOME
はデフォルトで存在しません。UNIX/LinuxからWindowsに移植された一部のアプリでは環境変数HOME
をホームディレクトリとして動作する物がありますが、環境変数がHOME
がないと正しく動作しない場合があります。そういう意味ではWindowsには「ホームディレクトリ」は存在しないと言ってもいいと思います。
投稿2019/02/03 13:56
総合スコア21739
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/02/03 12:58
2019/02/03 13:05 編集
2019/02/03 13:23 編集
2019/02/03 13:30
2019/02/03 13:56
2019/02/03 13:59