使用批处理文件更改注册表值,然后运行应用程序
问题描述:
我想更改注册表值(REG_DWORD),然后通过批处理文件运行应用程序,该批处理文件与应用。 我想下面的线,但是,这并不工作:使用批处理文件更改注册表值,然后运行应用程序
reg add "HKEY_CURRENT_USER\A User Name\An Application Name" /v A value name_h3981298716 /d "99" /t REG_DWORD /f
START %~dp0AnApplicationName.exe
“开始...”将在不工作“REG ADD ...”代码。批处理文件可以运行应用程序,但它不能更改REG_DWORD类型的注册表值。
如何正确使用批处理文件执行以下序列?
首先,更改REG_DWORD类型的注册表值。
然后运行一个应用程序。
答
reg add "HKCU\A User Name\An Application Name" /v "A value name_h3981298716" /d "99" /t REG_DWORD /f
注意,如果值名称包含空格,那么它应该用双引号括起来。即使值名称不包含任何空格,也要这样做。
例,与其它键名:
==> reg query "HKCU\Software\Test Key" /t reg_dword
End of search: 0 match(es) found.
==> reg add "HKCU\Software\Test Key" /v A value name_h3981298716 /d "99" /t REG_DWORD /f
ERROR: Invalid syntax.
Type "REG ADD /?" for usage.
==> reg add "HKCU\Software\Test Key" /v "A value name_h3981298716" /d "99" /t REG_DWORD /f
The operation completed successfully.
==> reg query "HKCU\Software\Test Key" /t reg_dword
HKEY_CURRENT_USER\Software\Test Key
A value name_h3981298716 REG_DWORD 0x63
End of search: 1 match(es) found.
因为有些不妥。请更具体! – aschipfl
使用双引号尝试围绕“%〜dp0AnApplicationName.exe”。每当批处理文件“不起作用”时,都会在其中放置尽可能多的有用的“echo”,并使用命令提示符启动它。有了这个,你可以检查文件失败的地方。 – geisterfurz007
“START ...”将在没有“reg add ...”代码的情况下运行。批处理文件可以运行应用程序,但它不能更改REG_DWORD类型的注册表值。 – Bayu