プロが教えるわが家の防犯対策術!

ネット等でいろいろ調べましたがわかりません。どなたか教えて頂けますでしょうか?

VBSのCopyFolder()メソッドを使用し、あるフォルダを他の複数のPCのシステムフォルダ(C:\winnt or C:\Windows)へコピーしたいのですが、コピー先のOSが異なります(Windows2000とwindowsXP)。この場合、スクリプト中に"%systemroot%"を使うことは可能でしょうか?
可能なら、どのように書けばよいのでしょうか?

よろしくお願いします。

A 回答 (3件)

環境変数から調べるのがわからなかったんで次の方法で


GetSpecialFolder(0)は、Windowsフォルダを取得する

Set fs=WScript.CreateObject("Scripting.FileSystemObject")
Set ws=WScript.CreateObject("WScript.Shell")
i=fs.GetSpecialFolder(0)
o="C:\downloads2"
msg=MsgBox (i&"から"&o&"へコピーします。いいですか?",vbYesNo)
If msg=vbYes Then fs.CopyFolder i,o
    • good
    • 0
この回答へのお礼

ありがとうございます。
てっきり、
%systemroot%をコマンドラインに入れないとダメ、と思い込んでました。
助かりました。またよろしくお願いします。

お礼日時:2008/09/08 00:01

環境変数の値の取得はこのように:


Set WshShell = WScript.CreateObject("WScript.Shell")
Set WshEnv = WshShell.Environment("PROCESS")
WScript.Echo WshEnv("SYSTEMROOT")
    • good
    • 0
この回答へのお礼

このような方法もあるのですね。
ありがとうございました。

お礼日時:2008/09/08 00:03

みつけました!


以下の方法でも環境変数から取れます
Set ws=WScript.CreateObject("WScript.Shell")
i=ws.ExpandEnvironmentStrings("%systemroot%")
    • good
    • 0
この回答へのお礼

ありがとうございました。
iをもとに、.Copyfolder i,"・・・"
とやればよいと言うことですよね。

お礼日時:2008/09/08 00:11

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!