HRR Co., Ltd.

技術的な記録を残していくことを目的としています。1次情報を大事にしています。

Windowsの%APPDATA%などの文字列について

はじめに

エクスプローラーやWin + Rで入力が可能なショートカット的な文字列には「%APPDATA%」以外にもいろいろあります。
気になったので調べてみました。

正体

環境変数らしいです。
PowerShellの画面から、一覧を出力可能です。結構あります。

ユーザー名などの一部情報はXXXXXとして伏せております。

PS C:\> Get-ChildItem env:

Name                           Value
----                           -----
ALLUSERSPROFILE                C:\ProgramData
APPDATA                        C:\Users\XXXXX\AppData\Roaming
ChocolateyInstall              C:\ProgramData\chocolatey
ChocolateyLastPathUpdate       123$56789012345678
CommonProgramFiles             C:\Program Files\Common Files
CommonProgramFiles(x86)        C:\Program Files (x86)\Common Files
CommonProgramW6432             C:\Program Files\Common Files
COMPUTERNAME                   XXXXX
ComSpec                        C:\Windows\system32\cmd.exe
DriverData                     C:\Windows\System32\Drivers\DriverData
FPS_BROWSER_APP_PROFILE_STRING Internet Explorer
FPS_BROWSER_USER_PROFILE_ST... Default
HOMEDRIVE                      C:
HOMEPATH                       \Users\XXXXX
LOCALAPPDATA                   C:\Users\XXXXX\AppData\Local
LOGONSERVER                    \\HSG-AD2
NUMBER_OF_PROCESSORS           8
OneDrive                       C:\Users\XXXXX\OneDrive
OS                             Windows_NT
Path                           C:\Python39\Scripts\;C:\Python39\;C:\Windows\sy...
PATHEXT                        .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.PY;.PYW;.CPL
PROCESSOR_ARCHITECTURE         AMD64
PROCESSOR_IDENTIFIER           Intel64 Family 6 Model 142 Stepping 12, GenuineIntel
PROCESSOR_LEVEL                6
PROCESSOR_REVISION             1234
ProgramData                    C:\ProgramData
ProgramFiles                   C:\Program Files
ProgramFiles(x86)              C:\Program Files (x86)
ProgramW6432                   C:\Program Files
PSModulePath                   C:\Users\XXXXX\Documents\WindowsPowerShell\Modules;C:\Program Files\WindowsPowerSh...
PUBLIC                         C:\Users\Public
SESSIONNAME                    Console
SystemDrive                    C:
SystemRoot                     C:\Windows
TEMP                           C:\Users\XXXXX\AppData\Local\Temp
TMP                            C:\Users\XXXXX\AppData\Local\Temp
USERDNSDOMAIN                  XXXX.YYYY
USERDOMAIN                     XXXX
USERDOMAIN_ROAMINGPROFILE      XXXX
USERNAME                       XXXXX
USERPROFILE                    C:\Users\XXXXX
windir                         C:\Windows
ZES_ENABLE_SYSMAN              1

詳細

Get-ChildItem

Get-ChildItemは名前の通りのコマンドで、ディレクトリに使えば配下の内容を出力してくれます。

learn.microsoft.com

env:

env:はドライブです。
エクスプローラーでは見えないですが、環境変数はenvドライブに入っているようです。個人的に衝撃でした。そんな管理の仕方なのかと。

上ではGet-ChildItemを使いましたが、下記のようにしても環境変数にアクセスが可能です。

PS C:\> cd env:\
PS Env:\>
PS Env:\> dir

まさにディレクトリとファイルの動きですね。

終わりに

たくさんありますが、現実的に使うものは限られそうですね。
APPDATA
LOCALAPPDATA
このへんは自分のユーザー名を隠しつつ、フォルダパスを書くことができるので、ブログを書くときや他の方への共有に便利ですね。

COMPUTERNAME
も使いどころがありそう。

以上、小ネタでした。