1

I reg ファイルを VBS コマンドに変換します。

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]
@=""
"VPService"="C:\\Windows\\System32\\VPService.exe"

しかし、これで C:\Windows\ の代わりに %systemroot% 変数を使用することはできません。

Option Explicit
Dim objShell
Set objShell = CreateObject("WScript.Shell")

Dim strComputer, ArrOfValue, oReg
const HKEY_USERS = &H80000003
const HKEY_LOCAL_MACHINE = &H80000002
const HKEY_CURRENT_USER = &H80000001
const HKEY_CLASSES_ROOT = &H80000000
strComputer = "."
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")
objShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Run\", ""
objShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Run\", "", "REG_SZ" 'Default value
objShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Run\VPService", "C:\\Windows\\System32\\VPService.exe", "REG_SZ"
Set objShell = Nothing
WScript.Quit

このコードで C:\Windows\ の代わりに %systemroot% 変数を使用するにはどうすればよいですか?

4

2 に答える 2

0

値を展開可能な文字列にします:

objShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Run\VPService" _
  , "%SystemRoot%\\System32\\VPService.exe", "REG_EXPAND_SZ"
于 2012-12-17T23:04:35.557 に答える
0

WScript.Shell は環境変数を展開できます。

>> WScript.Echo CreateObject("WScript.Shell").ExpandEnvironmentStrings("%systemroot%")
>>
C:\WINDOWS

ドキュメント

于 2012-12-17T23:01:38.160 に答える