Board logo

标题: 批处理能不能将键值对文件解析后设置成环境变量,类似于Linux的env命令 [打印本页]

作者: lxlsh    时间: 2014-2-11 11:05     标题: 批处理能不能将键值对文件解析后设置成环境变量,类似于Linux的env命令

如题,批处理能不能将键值对文件解析后设置成环境变量,类似于Linux的env命令
作者: DAIC    时间: 2014-2-11 13:02

Windows的环境变量是保存在注册表里面的
可以用 reg add 命令写注册表
也可以用 wmic 命令直接创建
作者: lxlsh    时间: 2014-2-13 11:45

回复 2# DAIC

wmic在Windows XP和Windows Vista,Windows7,Windows8中都能使用吗?
创建的语法是wmic ENVIRONMENT create name="var",username="<system>",VariableValue="value"
假如参数  username我想设置成当前的用户应该怎么写?在<>里面用什么表示当前用户(当前用户名不固定)
作者: DAIC    时间: 2014-2-13 12:18

回复 3# lxlsh


都能。
  1. wmic ENVIRONMENT create name="var",username="%username%",VariableValue="value"
复制代码

作者: lxlsh    时间: 2014-2-13 14:17

回复 4# DAIC


    很管用,谢谢
作者: lxlsh    时间: 2014-2-13 16:03

回复 4# DAIC


    用wmic这种方式假如环境变量已经存在,用create选项就会报错,假如不想报错,希望达到如果环境变量就修改它的值,不存在就创建,应该用什么选项?用create or replace吗?
作者: DAIC    时间: 2014-2-13 16:42

回复 6# lxlsh


不是每个命令都像SQL那样支持create or replace,看看帮助文档就知道了:
wmic ENVIRONMENT /?

你得自己写代码去判断
作者: DAIC    时间: 2014-2-13 16:44

回复 6# lxlsh


另外,reg add 命令直接写注册表的方式不存在这个问题。
作者: lxlsh    时间: 2014-2-13 17:31

回复 8# DAIC

恩,是的,用reg add确实不存在这个问题,我还是换成这种方式来做吧
作者: lxlsh    时间: 2014-2-14 10:11

回复 8# DAIC


    用wmic怎么来修改环境变量的值?
作者: DAIC    时间: 2014-2-14 11:15

回复 10# lxlsh


http://www.bathome.net/viewthread.php?tid=4068#pid25948
第579行
作者: lxlsh    时间: 2014-2-14 15:24

回复 11# DAIC

Windows7中用reg add的方式当前用户的环境变量放在这个注册表HKEY_CURRENT_USER\Environment下面,其他的Windows XP,Windows Vista,Windows8都是放在这个下面吗?
作者: Batcher    时间: 2014-2-14 17:17

回复 12# lxlsh


    是的




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2