热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用setx一次性设置系统环境变量

Setx.exe批处理文件:javaEnv.batechooffsetxJAVA_HOMESD:\Java-m命令行下运行javaEnv.bat,即可以

 



Setx.exe  

批处理文件:javaEnv.bat
@echo off 
@setx JAVA_HOMES D:\Java -m

命令行下运行javaEnv.bat,即可以一次性设置系统环境变量

下面对改命令做详细介绍:

这个命令行工具提供了一种批量修改环境变量的方法,同时不需要使用任何编程方法或者是脚本。此外,除了可以获得变量和值之外还可以跟注册表的值挂上关系。在 2000中除了setx.exe之外,其他没有任何一种命令行工具可以直接设置系统变量值。只有通过控制面板和注册表编辑器才能够设置。如果有人说可以用 set命令的话, 实际上这个CMD的内部命令只能够设置当前控制台窗口的用户环境变量。 setx允许你通过Command Line Mode,Registry Mode,File Mode,这三种模式来设置环境变量。  

a. Command-Line  

setx variable value -m  

variable  
要设置的环境变量的名字。  

value  
要设置的值。  

-m  
设置计算机环境,默认设置是用户环境。  

b. Registry Mode  

setx variable -k hive\key\……\value -m  

variable  
要设置的环境变量的名字。  

-k  
指定变量设置会基于注册表中的信息。  

hive\key\……\value  
注册表路径,如:  
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName  

-m  
同命令行模式。  

c. File Mode  

setx variable -f filename -a x,y │ -r x,y "string" -d d -x -m  

-f filename  
指定使用的文件名。  

-a x,y  
指定要搜索的绝对坐标或者是偏移量。  

-r x,y "string"  
指定从"string"的相对坐标或者是偏移。  

-d d  
指定附加的分隔符,后一个d表示,可以是",", "\"等等。系统有四个内建的分隔符是:space, tab,  

carriage return, linefeed。附加的可以是任意的ASCII字符。  

-x  
显示文件坐标,这个时候-a, -r, -d会变忽略。  

-m  
在同上。  

setx将变量写入到在注册表的主环境中去。用setx设置的变量将会在下一次启动的时候生效,这是2000的局限。当访问REG_MULTI_SZ时,只能访问到第一个项目。  
目前setx只可以支持HKCU和HKLM两个hives。用Setx增加的值不可以用setx去掉,可以在控制面板里面改,也可以在注册表里面改,这种时候也可以用set把它置空。  

但是还是来几个例子吧!  

a.Command Line  

Setx MACHINE COMPAQ  
在用户环境中设置MICHINE为COMPAQ。  

setx MYPATH %PATH%  
设置MYPATH的值为当前PATH变量的值。  

setx MYPATH ~PATH~  
设置MYPATH总是和PATH环境的值保持一致。  

b. Registry  

Setx TZONE -k  

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName  
设置TZONE的值为上面的键。比如:"Central Standard Time"  

Setx BUILD -k "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows  

NT\CurrentVersion\CurrentBuildNumber"  
设置BUILD的值为当前的Windows NT版本号,如:1314。  

c. File  
在进行这部分之前先运行ipconfig > ipconfig.out,弄一个ipconfig的文本出来。然后就可以进行操作了  


Setx var -f ipconfig.out -x  
这个命令会显示这个文件的内容的坐标。如:  

C:\>SETX VAR -f ipconfig.out -x  


(1,0 Windows) (1,1 2000) (1,2 IP) (1,3 Configuration)  

(3,0 Ethernet) (3,1 adapter) (3,2 Local) (3,3 Area) (3,4 Connection使用setx一次性设置系统环境变量 - qindingsky - 宁静以致远  

(5,0 Connection-specific) (5,1 DNS) (5,2 Suffix) (5,3 .) (5,4   
(6,0 IP) (6,1 Address.) (6,2 .) (6,3 .) (6,4 .) (6,5 .) (6,6 .) (6,7 .) (6,8 .)  
(6,9 .) (6,10 .) (6,11 .) (6,12 .) (6,13  (6,14 192.168.1.1)  
(7,0 Subnet) (7,1 Mask) (7,2 .) (7,3 .) (7,4 .) (7,5 .) (7,6 .) (7,7 .) (7,8 .)  
(7,9 .) (7,10 .) (7,11 .) (7,12 .) (7,13  (7,14 255.255.255.0)  
(8,0 Default) (8,1 Gateway) (8,2 .) (8,3 .) (8,4 .) (8,5 .) (8,6 .) (8,7 .) (8,8  
.) (8,9 .) (8,10 .) (8,11   

setx ipaddr -f ipconfig.out -a 5,11  

这个命令会寻找绝对偏移为(5,11)的内容,然后设置ipaddr为这个值。如:  

C:\>setx ipaddr -f ipconfig.out -a 6,14  
Extracted value is: 192.168.1.1  

Setx ipgateway -f ipconfig.out -r 0,11 "Gateway"  
查找Gateway这个字符串偏移0,11的东东,然后写到ipgateway里面去。  

C:\>Setx ipgateway -f ipconfig.out -r 0,11 "Gateway"  
Extracted value is: 192.168.1.244  

以上所有的修改都会在重起以后看到,可以用set或者是控制面板中的System properties看。


推荐阅读
  • 如何查询zone下的表的信息
    本文介绍了如何通过TcaplusDB知识库查询zone下的表的信息。包括请求地址、GET请求参数说明、返回参数说明等内容。通过curl方法发起请求,并提供了请求示例。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • Go GUIlxn/walk 学习3.菜单栏和工具栏的具体实现
    本文介绍了使用Go语言的GUI库lxn/walk实现菜单栏和工具栏的具体方法,包括消息窗口的产生、文件放置动作响应和提示框的应用。部分代码来自上一篇博客和lxn/walk官方示例。文章提供了学习GUI开发的实际案例和代码示例。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • 本文介绍了Windows Vista操作系统中的用户账户保护功能,该功能是为了增强系统的安全性而设计的。通过对Vista测试版的体验,可以看到系统在安全性方面的进步。该功能的引入,为用户的账户安全提供了更好的保障。 ... [详细]
  • 使用C++编写程序实现增加或删除桌面的右键列表项
    本文介绍了使用C++编写程序实现增加或删除桌面的右键列表项的方法。首先通过操作注册表来实现增加或删除右键列表项的目的,然后使用管理注册表的函数来编写程序。文章详细介绍了使用的五种函数:RegCreateKey、RegSetValueEx、RegOpenKeyEx、RegDeleteKey和RegCloseKey,并给出了增加一项的函数写法。通过本文的方法,可以方便地自定义桌面的右键列表项。 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了logistic回归(线性和非线性)相关的知识,包括线性logistic回归的代码和数据集的分布情况。希望对你有一定的参考价值。 ... [详细]
  • 如何自行分析定位SAP BSP错误
    The“BSPtag”Imentionedintheblogtitlemeansforexamplethetagchtmlb:configCelleratorbelowwhichi ... [详细]
  • 电话号码的字母组合解题思路和代码示例
    本文介绍了力扣题目《电话号码的字母组合》的解题思路和代码示例。通过使用哈希表和递归求解的方法,可以将给定的电话号码转换为对应的字母组合。详细的解题思路和代码示例可以帮助读者更好地理解和实现该题目。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
author-avatar
手机用户2502870367
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有