获取exe位置并添加到注册表项的vbscript

时间:2013-12-21 14:29:31

标签: vbscript

需要协助创建vbs。我有exe可以从任何地方执行。所以我需要获取exe位置并添加到注册表项。

Ex:exe的位置:c:\ abc \ execute.exe 注册表位置:HKEY_CURRENT_USER \ Software \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Compatibility Assistant \ Persisted

将密钥添加为c:\ abc \ execute.exe dword = 1

提前致谢

1 个答案:

答案 0 :(得分:1)

如果我正确理解你的问题,你可以使用这样的东西。

要调用此脚本,您只需转到“开始”菜单,然后键入搜索框(或运行框):

cscript {path-to-your-script\scriptname.vbs} /filepath:"C:\abc\execute.exe"

您需要将{path-to-your-script\scriptname.vbs}替换为下面提供的脚本示例的完整路径和文件名。请记住使用.vbs扩展名保存代码段。

此vbs代码段将以密钥HKEY_CURRENT_USER \ Software \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Compatibility Assistant \ Persisted,在密钥值为1的情况下静默添加C:\ abc \ execute.exe,如果注册表路径存在且执行帐户有足够的权限这样做。

注意:此脚本代码段不适用于旧版本的Windows,因为不支持wscript.arguments.Named.Item。

    ' cscript <scriptname.vbs> /filepath:"C:\abc\execute.exe"

    Const HKEY_CURRENT_USER = &H80000001


    filePath = wscript.arguments.Named.Item("filepath")
    Value = 1

    strComputer = "."
    Set objRegistry = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")
    strKeyPath = "Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Persisted"

    if filePath <> "" then 
        objRegistry.SetDWORDValue HKEY_CURRENT_USER, strKeyPath, filepath, Value
    end if

希望有所帮助。