- 締切済み
WSHのCopyFile()メソッドで%systemroot%の使い方を教えてください
ネット等でいろいろ調べましたがわかりません。どなたか教えて頂けますでしょうか? VBSのCopyFolder()メソッドを使用し、あるフォルダを他の複数のPCのシステムフォルダ(C:\winnt or C:\Windows)へコピーしたいのですが、コピー先のOSが異なります(Windows2000とwindowsXP)。この場合、スクリプト中に"%systemroot%"を使うことは可能でしょうか? 可能なら、どのように書けばよいのでしょうか? よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- necomimi
- ベストアンサー率41% (633/1540)
みつけました! 以下の方法でも環境変数から取れます Set ws=WScript.CreateObject("WScript.Shell") i=ws.ExpandEnvironmentStrings("%systemroot%")
- notnot
- ベストアンサー率47% (4901/10362)
環境変数の値の取得はこのように: Set WshShell = WScript.CreateObject("WScript.Shell") Set WshEnv = WshShell.Environment("PROCESS") WScript.Echo WshEnv("SYSTEMROOT")
お礼
このような方法もあるのですね。 ありがとうございました。
- necomimi
- ベストアンサー率41% (633/1540)
環境変数から調べるのがわからなかったんで次の方法で 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
お礼
ありがとうございます。 てっきり、 %systemroot%をコマンドラインに入れないとダメ、と思い込んでました。 助かりました。またよろしくお願いします。
お礼
ありがとうございました。 iをもとに、.Copyfolder i,"・・・" とやればよいと言うことですよね。