我有一个非常简单的问题:
我想在注册表中存储两个用户输入的变量字符串,并且能够在批处理再次运行时访问它。我一直在谷歌搜索,似乎无法找到答案。
它可以存储在任何注册表中,只要它可以在下次执行时使用。
以下是需要发生的事情的流程:
:: 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
你能帮我解决这个简单的问题吗?
答案 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