win通过dos配置注册列表
由于服务器数量众多,需求是配置环境变量,为了不被累屎,为了减轻压力所以有了这篇文章!嘿嘿……需求如图:
百度后了解到通过dos中的set指令配置后只可以临时生效,命令行终端关闭后即失效!如果要一直有效唯一可行的就是用注册列表或者我们经常用的手动配置了(宝宝心里苦,但宝宝不说~~~~(>_
| reg add keyname [/v valuename | /ve] [/t type] [/s separator] [/d data] [/f] |
keyname [\machine]fullkey #远程机器的机器名 -忽略默认到当前机器/v 所选项之下要添加的值名/ve 为注册表项添加空白值名/t regkey 数据类型
| [ reg_sz | reg_multi_sz | reg_dword_big_endian |reg_dword | reg_binary | reg_dword_little_endian |reg_none | reg_expand_sz ] 注意:如果忽略,则采用 reg_sz |
/s 指定一个在 reg_multi_sz 数据字符串中/d 要分配给添加的注册表 valuename 的数据 用作分隔符的字符 如果忽略,则将 " " 用作分隔符/f 不用提示就强行改写现有注册表项eg:1)reg add \abc\hklmsoftwaremyco #添加远程机器abc上的一个注册表项 hklmsoftwaremyco2)reg add hklmsoftwaremyco /v data /t reg_binary /d fe340ead #添加一个值(名称: data,类型: reg_binary,数据: fe340ead)3)reg add hklmsoftwaremyco /v mru /t reg_multi_sz /d fax mail #添加一个值(名称: mru,类型: reg_mutli_sz,数据: fax mail )4)reg add hklmsoftwaremyco /v path /t reg_expand_sz /d %%systemroot%% #添加一个值(名称: path,类型: reg_expand_sz,数据: %systemroot%)注意: 在扩充字符串中使用双百分比符号( %% ) 2、常用命令:导出环境变量到env.reg:
| reg export "hklmsystemcurrentcontrolsetcontrolsession managerenvironment" env.reg |
显示注册表系统环境变量:
| reg query "hklmsystemcurrentcontrolsetcontrolsession managerenvironment" |
使用使用reg:
| set regpath=hkey_local_machinesystemcurrentcontrolsetcontrolsession managerenvironment::系统环境变量::hkey_local_machinesystemcurrentcontrolsetcontrolsession managerenvironment::用户环境变量::hkey_current_userenvironmentreg add "%regpath%" /v "" /d ""将上面的内容替成你需要定义的名称和值就可以了.
|
注意“::”这个符号是dos命令中的注释内容 3、使用系统编辑器修改环境变量最终会反映到注册表中保存,我们知道环境变量分为两种,用户变量,以及系统变量,其存储的位置分别位于:
| 系统变量:[hklmsystemcontrolset001controlsession managerenvironment][hklmsystemcontrolset002controlsession managerenvironment][hklmsystemcurrentcontrolsetcontrolsession managerenvironment]用户变量:[hkcuenvironment]其中hklm = hkey_local_machine,hkcu = hkey_current_user |
注意问题:
| controlset001/controlset002/currentcontrolset保存用于系统启动的重要配置信息,其中 currentcontrolset指向controlset001,两者互相同步,每次针对两者中任意一个分支的修改都会立即复制到另外一个分支相对应 的键值中。当系统启动时,会使用其中一个分支的信息以尝试启动系统,这个就是controlset001,如果启动成功,那么controlset001的信息会复制到controlset002中。如果启动失败,那么就不会发生这个复制过程。当系统因某些原因无法启动时,我们通常会使用“using the last known good configuration”来尝试启动系统,也就是“最后一次正确的配置”(启动时按住f8),这时系统使用的就是controlset002分支的配置信息。 |
4、解决问题:在newhua.bat文本文件中编辑如下内容:
| set regpath=hkey_local_machinesystemcurrentcontrolsetcontrolsession managerenvironment::echo.echo =================================echo 环境变量设置echo =================================echo.set /p en=请按 回车键 确认设置开始!echo.::set huajun_home=d:
ewhua #设置当前命令行的变量,关闭后即失效echo 新创建环境变量 huajun_home=d:
ewhuareg add "%regpath%" /v "huajun_home" /d "d:
ewhua" /fecho.color 17 echo ************ jdk系统环境变量设置 结束! *********** echo. echo 请按 任意键 退出! |
双击运行该批处理文件即可完成环境变量的配置!3、检查结果:1)我的电脑右击点选“属性”
2)选择“高级”选项卡,再点击下方的“环境变量”
3)查看系统变量
问题是推动我们学习的动力,下一个问题走起……