首页 技术 正文
技术 2022年11月8日
0 收藏 801 点赞 1,307 浏览 5872 个字

SETX.exe (Resource Kit, Windows 7)

Set environment variables permanently, SETX can be used to set Environment Variables for the machine (HKLM) or currently logged on user (HKCU):

Syntax   SETX [/s Computer [Credentials]] Variable Value [/m]   SETX [/s Computer [Credentials]] [Variable] /k Path [/m]   SETX [/s Computer [Credentials]] /f FileName {[Variable] {/a X,Y | /r X,Y "String"}
[/m] | /x} [/d Delimiters]Key: /s Computer
The name or IP address of a remote computer.
Do not use backslashes. (default = the local computer) Credentials
The username and password used to connect to Computer:
/u [Domain\]UserName [/p [Password]]] /u [Domain\]UserName
Run the script with the credentials of the specified user account.
The default value is the system permissions. /p [Password]
The password of the user account that is specified in the /u parameter. Variable
The name of the environment variable that you want to set. Value
The value to which you want to set the environment variable. /k Path
Specifies that the variable is set based on information from a registry key.
The path uses the following syntax: \HIVE\KEY\...\Value For example, you might specify the following path:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName /f FileName
The file that you want to use. /a X,Y
Specifies absolute coordinates and offset as search parameters. /r X,Y "String"
Specifies relative coordinates and offset from String as search parameters. /m
Set the variable in the system environment HKLM.
(The default is the local environment HKCU) /x
Display file coordinates, ignoring the /a, /r, and /d command-line options. /d Delimiters
Specifies delimiters such as "," or "\" to be used in addition to the four
built-in delimiters — SPACE, TAB, ENTER, and LINEFEED.
Valid delimiters include any ASCII character.
The maximum number of delimiters is 15, including built-in delimiters.

Under Windows XP all switches are prefixed with – instead of /.

Early versions of SETX (XP) do not support the options /k,/u,/p or /s

SETX may be used to set environment variables from one of three sources (modes): Command Line Mode, Registry Mode, or File Mode.

Command Line Mode

Environment variables are stored in the registry:

User Variables: HKEY_CURRENT_USER\Environment System Variables: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

Because SETX writes variables to the master environment in the registry, edits will only take effect when a new command window is opened – they do not affect the current CMD or PowerShell session.

Machine variables are stored on the machine and will not follow a users roaming profile. To set a machine variable (/m) requires Administrator rights.

User variables are stored in the user profile and will follow the users roaming profile.

If  variables with the same name are stored as both  User and Machine Environment variables, the user variable will take precedence. If a Session variable is created   that will take precedence over any User and/or Machine Environment variable with the same name.

To edit environment variables in the Windows GUI: Control Panel | System | Advanced | Environment Variables

To delete an environment variable either use the GUI (recommended) or delete the value from the registry with REG delete HKCU\Environment /V _myvar Deleting a variable with REG will not take effect until next logon due to caching of registry data. Setting value of “” (empty quotes) will appear to delete the variable – it’s not shown by SET but the variable name will remain in the registry.

Registry Mode

HKEY_CURRENT_USER and HKEY_LOCAL_MACHINE are the only supported hives. REG_DWORD, REG_EXPAND_SZ, REG_SZ, and REG_MULTI_SZ are the valid RegKey data types. When reading REG_MULTI_SZ values from the registry, only the first item will be extracted and used.

File Mode

REG_DWORD registry values are extracted and used in hexadecimal mode. File mode supports the parsing of carriage return and line feed (CRLF) text files only.

Examples:
In all the examples below the variable names are prefixed with an underscore _ this is not a requirement but is a common convention to indicate a CMD variable name.

Set the variable _car_park to be ‘South’ in the users  environment:
SetX _car_park South

Set the variable _car_park to be ‘North’ in the MACHINE  environment:
SetX _car_park North /m
Store the value of _car_park in a second environment variable SetX _oldcarpark %_car_park%
Set the _car_park environment variable in the local environment to ‘West’ on a remote computer named Computer64:

SetX /s computer64 /u ss64dom\user64 /p P7BmqgWZ1a _car_park West

Set the _MyPath environment variable in the local environment to use the search path defined in the %PATH% environment variable:

SetX _MyPath %PATH%

Set the _MyPath environment variable in the local environment to use the search path defined in the %PATH% environment variable after replacing ~ with %:

SetX _MyPath ~PATH~

Set the _MyPath environment variable in the local environment to use the search path defined in the PATH environment variable on a remote computer named Computer64:

SetX /s computer64 /u ss64dom\user64 /p P7BmqgWZ1a _MyPath %PATH%

Set the _TZone environment variable in the local environment to the value found in the HKLM…\StandardName registry key:

SetX _TZone /k HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName

Set the _Build environment variable in the system environment to the value found in the HKLM\…\CurrentBuildNumber registry key:

SetX _Build /k “HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\CurrentBuildNumber” /m

To display the contents of a file named Ipconfig.out, along with the contents’ corresponding coordinates:

SetX /f ipconfig.out /x

To set the _IPADDR environment variable in the local environment to the value found at the coordinate 5,11 in the file Ipconfig.out:

SetX _IPADDR /f ipconfig.out /a 5,11

To set the _OCTET environment variable in the local environment to the value found at the coordinate 5,3 in the file Ipconfig.out with delimiters “#$*.”:

SetX _OCTET /f ipconfig.out /a 5,3 /d “#$*.”

To set the _IPGATEWAY environment variable in the local environment to the value found at the coordinate 0,7 with respect to the coordinate of “Gateway” in the file Ipconfig.out, type:

SetX _IPGATEWAY /f ipconfig.out /r 0,7 Gateway

To display the contents of a file named Ipconfig.out — along with the contents’ corresponding coordinates — on a computer named Computer64, type:

SetX /s computer64 /u maindom\hiropln /p p@ssW23 /f ipconfig.out /x

“You are never dedicated to something you have complete confidence in.   No-one is fanatically shouting that the sun is going to rise tomorrow. When people are fanatically devoted to political or religious faiths or any other kind of dogmas or goals, its always because these dogmas or goals are in doubt” ~ Robert  M Pirsig

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,078
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,553
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,402
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,177
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,814
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,898