
全局的对所有用户都可以的使用的path:
可以通过修改配置文件:
/etc/bashrc
和
/etc/profile
来时配置,全局的path
例如:
vi
/etc/profile
在最后后加一行:path=the_set_globle_env_path:$path
接着换行:
export
path
如果使其立即生效:
source
/etc/profile
2.
对于普通用户也可以设置,自己的路径:在自己的home目录中:
ls
-a
|
grep
bash
会找到两个文件:
.bashrc
和
.bash_profile
同样可以像修改
/etc/profile一样,修改
.bash_profile
来配置你的个性path
环境。
同样修改后,若不重启,就使其立即生效的话,不要忘了
source
.bash_profile.
最后看的你的修改后的path:
echo
$path
或者
env
再者
set
如果你想了解更详细内容,建议看看刘遄老师的另外就是刘遄老师的《linux就该这么学》,书籍当中有详细的描述;
在window系统里面,你可以通过读取注册表 "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"来获取系统的环境变量通过读取注册表"HKEY_CURRENT_USER\Environment"来获取用户的环境变量值
*** 作过程:
1 先使用RegOpenKey 打开目标环境变量所在的键
2 再使用RegQueryValue获取该键下面指定变量的值
3 最后调用RegCloseKey关闭打开的键
如果你不知道该键下面有哪些子键,可以通过RegEnumValue函数来遍历所有子键
当然,遍历过程必须是在打开该键之后进行
分类: 电脑/网络 >>软件 >>其他软件问题描述:
有一程序,每次使用时要修改"PATH"环境变量,并且增加几个用户的环境变量和几个系统的环境变量才能运行,现在想写个小脚本来轻松完成这一步骤,曾经想过用DOS的批处理命令,但是DOS对环境变量的设置是临时的.也想过修改AUTOEXEC.BAT,但是这个文件在XP下就没用了,而且因为可能的客户对计算机不是很了解,希望达到的效果是只运行一个程序就完成,请问有什么办法能够实现? 或者有什么办法能够让DOS里设置的环境变量永久有效? 谢谢!
解析:
写个批处理运行一下就可以了。
set path=%path%+需要添加的路径
如
set path=%path%d:\bat
9月10日的修改:
真是不好意思,我以为这样可以,因为我想这样就可以使path变为你想要的结果,但是自己没有做测试。
现在要达到这样的效果,只能通过写一个脚本了。
把下列代码像批处理一样打开一个文本,复制进去,然后存为.vbs文件,双击即可运行。
脚本开始:------------------------------------------------
On Error Resume Next
Dim oWshShell, sOldPath, sNewPath
Const csMyPath="d:\bin"
'上面改为你需要添加的目录。 注意格式
Set oWshShell = WScript.CreateObject("WScript.Shell")
sOldPath=oWshShell.RegRead("HKLM\SYSTEM\ControlSet001\Control\Session Manager\Environment\path")
sNewPath=sOldPath+csMyPath
oWshShell.RegWrite "HKLM\SYSTEM\ControlSet001\Control\Session Manager\Environment\path", sNewPath, "REG_SZ"
msgbox (csMyPath &"已经成功添加到了环境目录。")
'-----------复制到这根线之上-------------------------------
我测试过了,这样在我的电脑属性高级环境变量里可以看到已经添加了,但是在cmd-path里还看不到,
运行完了必须注销过后才能永久使用,而且这个时候 cmd-path也看得到了。注意这个脚本只加环境不减环境的,所以只能运行一次哦,多运行了就添加了很多个了。
以后我再修改为检测是否曾经运行过。
看起来我真的很想要你的那50分.....
9月11日的修改:
在原有程序的基础上添加了用户互动功能,且添加了该程序只能运行一次的功能。
程序如下:
Dim oWshShell, sOldPath, sNewPath ,csMyPath,ctFile
Set oWshShell = WScript.CreateObject("WScript.Shell")
Set ctFile=CreateObject("Scripting.FileSystemObject")
If (ctFile.FileExists("c:\log.ini") ) Then
msgbox ("对不起,你以前运行过这个程序,环境变量只能添加一次。")
Else
csMyPath = inputbox ("请输入需要添加到环境变量的目录,末尾要加分号")
sOldPath=oWshShell.RegRead("HKLM\SYSTEM\ControlSet001\Control\Session Manager\Environment\path")
sNewPath=sOldPath+csMyPath
oWshShell.RegWrite "HKLM\SYSTEM\ControlSet001\Control\Session Manager\Environment\path", sNewPath, "REG_SZ"
ctFile.CreateTextFile ("c:\log.ini")
msgbox ( csMyPath &" 已经成功添加到了环境目录。")
End if
'------------------Yobo_lily版权,复制请包含这一行---------
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)