Perl操作系统环境变量的脚本代码
时间:2022-12-27 12:17:22
如何用Perl脚本操作系统环境变量呢?
想必很多朋友马上就会想到Perl中提供的$ENV这个特殊的哈希变量,对,在$ENV中完全可以获取到一些系统变量。怎么获取呢?比如想要知道Path这个系统环境变量的内容,我们可以通过$ENV{'Path'} 来获取。如果想设置Path这个环境变量呢,哈,使用$ENV{'Path'}=‘C:\Windows\System32'来设置。想获取所有的环境变量列表也很简单,哈希遍历不就可以了~
其实,本文中真正想问的是,你在通过上述方法设置了一个环境变量后,右击"我的电脑"的属性,选中高级选项卡后查看的Path变量值真的改变了吗?其实,细心的你会发现,完全没变!但千万不要抱怨Perl欺骗了你,它其实并没有欺骗你,而是你没有真正的理解。其实,Path变量可以通过设置$ENV{'Path'}来设置,但是这个设置所引起的改变只是Session级别的,即你程序级别的。如果还不理解的话,可以想象成打开一个CMD后,输入SET Path="C:\\Royen"所引起的效果,即在这个窗口中运行过程中Path环境变量是"C:\\Royen",而你再打开一个Cmd后的新的窗口的Path变量则会发现完全不是”C:\\Royen“;
所以想要真正的添加或者改变一个系统环境变量,我们需要求助于注册表帮忙。只要找到环境变量在注册表中存储的位置即可。
一般系统变量可以在注册表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment下面可以找到。
实现:
my $loc="SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment";
my $regkey;
$HKEY_LOCAL_MACHINE->Open($loc,$regkey) || die "Open Registry Fail,Information:$!\n";
$regkey->SetValueEx("PERLLIB",0,REG_SZ,"c:\\staf\\bin;c:\\staf\\bin\\Perl58");
添加环境变量后,记得重启下机器,以使其生效。
标签:操作系统,环境变量
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Git常用命令介绍
2022-08-14 03:42:46
Go处理JSON数据的实现
2024-02-23 07:44:42
python TK库简单应用(实时显示子进程输出)
2023-10-08 23:08:19
![](https://img.aspxhome.com/file/2023/2/78812_0s.png)
Python优化技巧之利用ctypes提高执行速度
2022-01-26 09:13:04
深入了解Hybrid App技术的相关知识
2023-08-10 09:36:02
OpenCV实现相机标定
2023-11-13 00:36:45
![](https://img.aspxhome.com/file/2023/7/96937_0s.jpg)
用户的期望以及背后真正的需求
2009-06-19 12:39:00
mysql存储过程之创建(CREATE PROCEDURE)和调用(CALL)及变量创建(DECLARE)和赋值(SET)操作方法
2024-01-19 22:48:06
urllib和BeautifulSoup爬取维基百科的词条简单实例
2023-10-25 21:46:59
![](https://img.aspxhome.com/file/2023/7/82957_0s.png)
SQL Server数据在不同数据库中的应用
2008-12-24 15:34:00
Python实现定时任务的八种方案详解
2022-04-19 06:54:03
![](https://img.aspxhome.com/file/2023/5/130765_0s.jpg)
Go项目中添加生成时间与版本信息的方法
2024-04-27 15:31:39
ASP.NET web.config中 数据库连接字符串加密解密
2024-01-14 07:02:09
Vue中插槽slot的使用方法与应用场景详析
2023-07-02 17:04:11
![](https://img.aspxhome.com/file/2023/6/139916_0s.png)
在python的类中动态添加属性与生成对象
2021-04-27 00:26:59
python实现的AES双向对称加密解密与用法分析
2022-08-11 00:42:32
MySQL8.0设置远程访问权限的方法
2024-01-15 19:25:43
Python操作列表常用方法实例小结【创建、遍历、统计、切片等】
2021-07-26 12:56:49
![](https://img.aspxhome.com/file/2023/6/134666_0s.jpg)
Python(PyS60)实现简单语音整点报时
2023-07-06 03:05:23
JavaScript获取一个范围内日期的方法
2024-04-28 09:50:33