0

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

我想在注册表中存储两个用户输入的变量字符串,以便稍后在批处理再次运行时访问它。我已经在谷歌上搜索了一段时间,似乎无法找到答案。

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

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

:: 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

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

4

2 回答 2

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

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

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

setx variable_a ""

删除 - 相同的规则。

于 2013-03-17T13:29:44.333 回答
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
于 2013-03-17T13:54:40.010 回答