#navi(../)
* VBScriptで環境変数を取得する方法 [#x64a106c]
コマンドプロンプトでsetコマンドを実行すると表示される各種環境変数。~
VBScriptで取得する方法を以下に記します。
#contents
#htmlinsertpcsp(win-top.html,win-sp.html)
* WScript.ShellのExpandEnvironmentStringsメソッド [#z5b880d3]
以下にWScript.ShellのExpandEnvironmentStringsメソッドを使用して環境変数の値を取得するサンプルコード等を記します。
** setコマンドによる出力 [#nf166b86]
コマンドプロンプトを起動しsetコマンドを実行すると以下の出力のように環境変数名=値(文字列)と表示されます。
C:\Users\sakura>set
ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\sakura\AppData\Roaming
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
COMPUTERNAME=ACER1410
ComSpec=C:\Windows\system32\cmd.exe
FP_NO_HOST_CHECK=NO
HOMEDRIVE=C:
HOMEPATH=\Users\sakura
JDK_HOME=c:\Program Files\Java\jdk1.7.0_05
<snip>
NUMBER_OF_PROCESSORS=2
OS=Windows_NT
Path=%JDK_HOME%\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\P
rogram Files (x86)\EgisTec\MyWinLocker 3\x86;C:\Program Files (x86)\EgisTec\MyWi
nLocker 3\x64;C:\Program Files\WIDCOMM\Bluetooth Software\;C:\Program Files\WIDC
OMM\Bluetooth Software\syswow64;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\W
indows\System32\WindowsPowerShell\v1.0\
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 23 Stepping 10, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=170a
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files
PROMPT=$P$G
windir=C:\Windows
<snip>
** 環境変数を取得するVBScriptのサンプルコード [#p72c4bfb]
実際に環境変数をVBScriptで取得してみます。~
既に知っているかもしれませんが、Windowsの環境変数は%で囲む必要があります。(環境変数を意味します。)
%環境変数名%
本サンプルコードでは、環境変数名PROCESSOR_ARCHITECTUREを取得してみます。
#ref(env.vbs)
Dim oWshShell
Dim szPROARC
Set oWshShell = CreateObject("WScript.Shell")
szPROARC = oWshShell.ExpandEnvironmentStrings("%PROCESSOR_ARCHITECTURE%")
MsgBox(szPROARC)
ダブルクリックすると以下のようにプロセッサーアーキテクチャ(PROCESSOR_ARCHITECTURE)が表示されます。
#ref(01.gif)
以上、VBScriptで環境変数の値を取得する方法でした。
#htmlinsertpcsp(win-btm.html,win-sp.html)