...pudding - diary

この日記は https://yapud.hatenablog.com/ に引っ越し中


2008-01-09

_ [Software] WSH で Windows の存在場所を知りたかった

Windows が入ってるフォルダが知りたくて、環境変数から貰えばいいかなと思って書いてみた。

var WshShell = WScript.CreateObject("WScript.Shell");
var envSystemRoot = WshShell.Environment("System").Item("windir");

ってやったら帰ってきた値が

%SystemRoot%

ですと。なめとんのか。じゃあその SystemRoot の中身を教えろ、と

var envSystemRoot = WshShell.Environment("System").Item("SystemRoot");

ってやったら答えは空白ですよ。

システムが最初から定義してる値は拾えないのかな、と悲しくなったんですが、

envSystemRoot = WshShell.ExpandEnvironmentStrings("%SystemRoot%");

これでいけました。ExpandEnvironmentStrings は、変数を値に展開しきってから返してくれるのね。


2008年
1月
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Twitter : @moriya_jp