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");
添加环境变量后,记得重启下机器,以使其生效。


猜你喜欢
- 前言在启动 Django 项目时,Django 默认监听的端口号为 8000,设置的默认 IP 地址为 127.0.0.1 。如果需要修改默
- 本文记录了mysql 5.7.23 winx64安装教程,具体内容如下Step1官方:下载地址选择手动下载版本解压到自己指定的路径上图中的m
- python 打印对象的所有属性值:def prn_obj(obj): print '\n'.join([
- blur事件在元素失去焦点时触发。在一些jquery的教程、api手册等上面对blur事件,提供了一个错误的例子,就是关于p标签失去焦点的问
- 如何在全局挂载对象和方法1.官方的说明Vue3.x已经不支持直接Vue.prototype.$http = () => {}这种方式来
- 前言前端小伙伴们平常在开发过程中文件上传是经常遇到的一个问题,也许你能够实现相关的功能,但是做完后回想代码实现上是不是有点"力不从
- 先来看看js中的Null类型表示什么?null用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象,一般一个未定义的变量在初次使用
- 首先去官网下载两个架包链接如下:官网链接第一步:将两个架包解压到同一个database目录下。如截图所示:第二步:打开setup应用程序打开
- 问题你的程序中有个方法会输出到标准输出中(sys.stdout)。也就是说它会将文本打印到屏幕上面。 你想写个测试来证明它,给定一个输入,相
- 当项目里用npm安装了babel-cli之类的包时,webstorm在索引node_modules文件时,会卡死接近这个问题的办法是把nod
- 我最近花了一些时间在探索CPython,并且我想要在这里分享我的一些冒险经历。Allison Kaptur的excellent guide
- 例子:#!/bin/perlprint "Please input an string and a number by order
- 分享炫酷的前端页面随机二维码验证,供大家参考,具体内容如下直接上代码<%@ page contentType="text/h
- 【一:下载·安装】1.下载node.js下载地址:Node.js 或者 点击这里下载2.安装2.1选择No
- 一个不错的二级联动下拉菜单源码,您一定会用得到的。运行代码:<html><head><title>Lis
- 如下所示:func Caller(skip int) (pc uintptr, file string, line int, ok bool
- 本文实例讲述了php控制文件下载速度的方法。分享给大家供大家参考。具体实现方法如下:<?php /* * set here a lim
- 一直希望自己对Web设计的色彩把握的更好些,所以手头上就备了一份图片版的配色表,对色彩的搭配有了很多的提高,今天发现了这套非常完整的Web版
- 项目介绍采用广度优先搜索方法获取一个网站上的所有外链。首先,我们进入一个网页,获取网页的所有内链和外链,再分别进入内链中,获取该内链的所有内
- 本文实例讲述了python实现分析apache和nginx日志文件并输出访客ip列表的方法。分享给大家供大家参考。具体如下:这里使用pyth