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");

添加环境变量后,记得重启下机器,以使其生效。

标签:操作系统,环境变量
0
投稿

猜你喜欢

  • Git常用命令介绍

    2022-08-14 03:42:46
  • Go处理JSON数据的实现

    2024-02-23 07:44:42
  • python TK库简单应用(实时显示子进程输出)

    2023-10-08 23:08:19
  • Python优化技巧之利用ctypes提高执行速度

    2022-01-26 09:13:04
  • 深入了解Hybrid App技术的相关知识

    2023-08-10 09:36:02
  • OpenCV实现相机标定

    2023-11-13 00:36:45
  • 用户的期望以及背后真正的需求

    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
  • SQL Server数据在不同数据库中的应用

    2008-12-24 15:34:00
  • Python实现定时任务的八种方案详解

    2022-04-19 06:54:03
  • 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
  • 在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
  • Python(PyS60)实现简单语音整点报时

    2023-07-06 03:05:23
  • JavaScript获取一个范围内日期的方法

    2024-04-28 09:50:33
  • asp之家 网络编程 m.aspxhome.com