如何使用Batch在注册表中存储一个简单变量?

时间:2013-03-17 13:23:48

标签: windows batch-file

我有一个非常简单的问题:

我想在注册表中存储两个用户输入的变量字符串,并且能够在批处理再次运行时访问它。我一直在谷歌搜索,似乎无法找到答案。

它可以存储在任何注册表中,只要它可以在下次执行时使用。

以下是需要发生的事情的流程:

:: Check if variable_a/b is available in reg, else ask user....?
SET /p variable_a="Enter a string: "
SET /p variable_b="Enter a string: "

:: Store both vars somehow....?

echo My variables:
echo variable_a
echo variable_b

你能帮我解决这个简单的问题吗?

2 个答案:

答案 0 :(得分:2)

setx variable_a "%variable_a%"
setx variable_b "%variable_b%"

将简单地存储变量 - 这样在同一会话中的任何未来CMD.EXE调用都会将变量/值加载到环境中。

添加/m以保存下一次和将来的登录(未存储此登录会话)

setx variable_a ""

删除 - 相同的规则。

答案 1 :(得分:0)

basetx并非在所有Windows版本中都可用。

另外,我更希望将变量存储在文件中,而不是存储在注册表中

if not exist somepath\myvar.bat (
 SET /p varA="Enter a string: " 
 SET /p varB="Enter b string: "
 echo REM this is my permanent store >somepath\myvar.bat
 echo set variable_a=%varA% >> somepath\myvar.bat
 echo set variable_b=%varB% >> somepath\myvar.bat
)
call somepath\myvar.bat