Windows 如何使用batfile创建注册表项

Windows 如何使用batfile创建注册表项,windows,registry,batch-file,Windows,Registry,Batch File,需要使用bat文件创建注册表项。我可以使用命令提示符或bat文件创建注册表项吗 这背后的主要目的是,我想使用bat文件创建环境变量。设置变量=字符串您可以使用Windows内置的命令行工具,无论是regedit.exe还是reg.exe,请参阅: 如果要创建一个持久性环境变量(即不仅适用于当前会话的变量),可以使用setx。如果有一个程序可以为您执行此操作,则无需直接处理注册表: SetX has three ways of working: Syntax 1: SETX [/

需要使用bat文件创建注册表项。我可以使用命令提示符或bat文件创建注册表项吗


这背后的主要目的是,我想使用bat文件创建环境变量。

设置变量=字符串

您可以使用Windows内置的命令行工具,无论是
regedit.exe
还是
reg.exe
,请参阅:


如果要创建一个持久性环境变量(即不仅适用于当前会话的变量),可以使用
setx
。如果有一个程序可以为您执行此操作,则无需直接处理注册表:

SetX has three ways of working:

Syntax 1:
    SETX [/S system [/U [domain\]user [/P [password]]]] var value [/M]

Syntax 2:
    SETX [/S system [/U [domain\]user [/P [password]]]] var /K regpath [/M]

Syntax 3:
    SETX [/S system [/U [domain\]user [/P [password]]]]
         /F file {var {/A x,y | /R x,y string}[/M] | /X} [/D delimiters]

Description:
    Creates or modifies environment variables in the user or system
    environment. Can set variables based on arguments, regkeys or
    file input.

是,您可以使用批处理文件创建注册表项

以下是一个例子:

要使用.bat文件禁用任务管理器,请执行以下操作:

reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System /f /v DisableTaskMgr /t REG_DWORD /d 1
要启用任务管理器,请执行以下操作:

reg delete HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System /v DisableTaskMgr /f
您可以通过输入reg/?在命令提示符中输入各种选项


享受………

这难道不是属于serverfault.com吗?无论如何,我会签出Powershell(或运行vbs脚本),因为从批处理文件中操作注册表可能会很痛苦。然而,许多人没有意识到盲目地建议PowerShell/VBS/Cygwin/Gnuwin32/whatever并不总是一个答案。不过,在你的情况下,我甚至不会直接接触注册表。环境变量(你在示例中设置的)与注册表项不同。但他的主要目的是设置环境变量。SETX似乎是Windows 7特有的。至少从Vista开始,它就在核心Windows中。由于从未使用过XP,我不知道在遗留系统上如何使用XP。它以前是一个资源工具包的一部分。此外,你从来没有说过任何关于操作系统限制的事情,所以我假设是最近的事情。