精华内容
下载资源
问答
  • 用户变量和系统变量区别
    千次阅读
    2021-08-18 12:06:49

    Windows系统中存在两种环境变量:用户变量和系统变量。

    两种环境变量有什么区别和共同点?

    1、两种环境变量中可以存在重名的变量;

    2、两者都不区分变量名的大小写,如Path和PATH并没有区别;

    3、用户变量只对当前用户有效,系统变量对所有用户有效;

    4、windows系统在执行用户命令时,若用户未给出文件的绝对路径,则首先在当前目录下寻找相应的可执行文件、批处理文件等;

    若找不到,再依次在系统变量的Path保存的这些路径中寻找相应的可执行程序文件。

    查找顺序是按照路径的录入顺序从左往右寻找的,最前面一条的优先级最高,如果找到命令就不会再向后寻找。

    如果还找不到再继续在用户变量的Path路径中寻找。

    如果系统变量和用户变量的Path中都包含了某个命令,则优先执行系统变量Path中包含的这个命令。

    5、变量Path告诉系统可执行文件放在什么路径;变量ClassPath则告诉JVM要使用或执行的class放在什么路径。

    更多相关内容
  • 之前在项目的存储过程中发现有通过 `DECLARE` 关键字定义的变量如`DECLARE cnt INT DEFAULT 0;`,还有形如 `@count` 这样的变量,存储过程中拿过来直接就进行设置,像这样`set @count=1;`,这两种类型的变量究竟有...

    前言

    之前在项目的存储过程中发现有通过 DECLARE 关键字定义的变量如DECLARE cnt INT DEFAULT 0;,还有形如 @count 这样的变量,存储过程中拿过来直接就进行设置,像这样set @count=1;,这两种类型的变量究竟有什么区别却弄不清楚,赶紧上网查询资料,发现还有@@sql_mode这样的变量,这一个圈俩圈的到底是什么啊?会不会出现三个圈的情况?

    变量分类与关系

    经过一段时间学习和测试,再配合官方的文档,现在大致弄清楚了这些变量的区别,一般可以将MySQL中的变量分为全局变量、会话变量、用户变量和局部变量,这是很常见的分类方法,这些变量的作用是什么呢?可以从前往后依次看一下。

    首先我们知道MySQL服务器维护了许多系统变量来控制其运行的行为,这些变量有些是默认编译到软件中的,有些是可以通过外部配置文件来配置覆盖的,如果想查询自编译的内置变量和从文件中可以读取覆盖的变量可以通过以下命令来查询:

    mysqld --verbose --help
    

    如果想只看自编译的内置变量可以使用命令:

    mysqld --no-defaults --verbose --help
    

    接下来简单了解一下这几类变量的应用范围,首先MySQL服务器启动时会使用其软件内置的变量(俗称写死在代码中的)和配置文件中的变量(如果允许,是可以覆盖源代码中的默认值的)来初始化整个MySQL服务器的运行环境,这些变量通常就是我们所说的全局变量,这些在内存中的全局变量有些是可以修改的。

    当有客户端连接到MySQL服务器的时候,MySQL服务器会将这些全局变量的大部分复制一份作为这个连接客户端的会话变量,这些会话变量与客户端连接绑定,连接的客户端可以修改其中允许修改的变量,但是当连接断开时这些会话变量全部消失,重新连接时会从全局变量中重新复制一份。

    其实与连接相关的变量不只有会话变量一种,用户变量也是这样的,用户变量其实就是用户自定义变量,当客户端连接上MySQL服务器之后就可以自己定义一些变量,这些变量在整个连接过程中有效,当连接断开时,这些用户变量消失。

    局部变量实际上最好理解,通常由DECLARE 关键字来定义,经常出现在存储过程中,非常类似于C和C++函数中的局部变量,而存储过程的参数也和这种变量非常相似,基本上可以作为同一种变量来对待。

    变量的修改

    先说全局变量有很多是可以动态调整的,也就是说可以在MySQL服务器运行期间通过 SET 命令修改全局变量,而不需要重新启动 MySQL 服务,但是这种方法在修改大部分变量的时候都需要超级权限,比如root账户。

    相比之下会话对变量修改的要求要低的多,因为修改会话变量通常只会影响当前连接,但是有个别一些变量是例外的,修改它们也需要较高的权限,比如 binlog_formatsql_log_bin,因为设置这些变量的值将影响当前会话的二进制日志记录,也有可能对服务器复制和备份的完整性产生更广泛的影响。

    至于用户变量和局部变量,听名字就知道,这些变量的生杀大权完全掌握在自己手中,想改就改,完全不需要理会什么权限,它的定义和使用全都由用户自己掌握。

    测试环境

    以下给出MySQL的版本,同时使用root用户测试,这样可以避免一些权限问题。

    Welcome to the MySQL monitor. Commands end with ; or \g.
    Your MySQL connection id is 7
    Server version: 5.7.21-log MySQL Community Server (GPL)
    Copyright © 2000, 2018, Oracle and/or its affiliates. All rights reserved.
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective owners.
    Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

    变量查询与设置

    全局变量

    这些变量来源于软件自编译、配置文件中、以及启动参数中指定的变量,其中大部分是可以由root用户通过 SET 命令直接在运行时来修改的,一旦 MySQL 服务器重新启动,所有修改都被还原。如果修改了配置文件,想恢复最初的设置,只需要将配置文件还原,重新启动 MySQL 服务器,一切都可以恢复原来的样子。

    查询

    查询所有的全局变量:

    show global variables;
    

    一般不会这么用,这样查简直太多了,大概有500多个,通常会加个like控制过滤条件:

    mysql> show global variables like 'sql%';
    +------------------------+----------------------------------------------------------------+
    | Variable_name          | Value                                                          |
    +------------------------+----------------------------------------------------------------+
    | sql_auto_is_null       | OFF                                                            |
    | sql_big_selects        | ON                                                             |
    | sql_buffer_result      | OFF                                                            |
    | sql_log_off            | OFF                                                            |
    | sql_mode               | STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
    | sql_notes              | ON                                                             |
    | sql_quote_show_create  | ON                                                             |
    | sql_safe_updates       | OFF                                                            |
    | sql_select_limit       | 18446744073709551615                                           |
    | sql_slave_skip_counter | 0                                                              |
    | sql_warnings           | OFF                                                            |
    +------------------------+----------------------------------------------------------------+
    11 rows in set, 1 warning (0.00 sec)
    
    mysql>
    

    还有一种查询方法就是通过select语句:

    select @@global.sql_mode;
    

    当一个全局变量不存在会话变量副本时也可以这样

    select @@max_connections;
    

    设置

    设置全局变量也有两种方式:

    set global sql_mode='';
    

    或者

    set @@global.sql_mode='';
    

    会话变量

    这些变量基本来自于全局变量的复制,与客户端连接有关,无论怎样修改,当连接断开后,一切都会还原,下次连接时又是一次新的开始。

    查询

    类比全局变量,会话变量也有类似的查询方式,查询所有会话变量

    show session variables;
    

    添加查询匹配,只查一部分会话变量:

    show session variables like 'sql%';
    

    查询特定的会话变量,以下三种都可以:

    select @@session.sql_mode;
    select @@local.sql_mode;
    select @@sql_mode;
    

    设置

    会话变量的设置方法是最多的,以下的方式都可以:

    set session sql_mode = '';
    set local sql_mode = '';
    set @@session.sql_mode = '';
    set @@local.sql_mode = '';
    set @@sql_mode = '';
    set sql_mode = '';
    

    用户变量

    用户变量就是用户自己定义的变量,也是在连接断开时失效,定义和使用相比会话变量来说简单许多。

    查询

    直接一个select语句就可以了:

    select @count;
    

    设置

    设置也相对简单,可以直接使用set命令:

    set @count=1;
    set @sum:=0;
    

    也可以使用select into语句来设置值,比如:

    select count(id) into @count from items where price < 99;
    

    局部变量

    局部变量通常出现在存储过程中,用于中间计算结果,交换数据等等,当存储过程执行完,变量的生命周期也就结束了。

    查询

    也是使用select语句:

    declare count int(4);
    select count;
    

    设置

    与用户变量非常类似:

    declare count int(4);
    declare sum int(4);
    set count=1;
    set sum:=0;
    

    也可以使用select into语句来设置值,比如:

    declare count int(4);
    select count(id) into count from items where price < 99;
    

    其实还有一种存储过程参数,也就是C/C++中常说的形参,使用方法与局部变量基本一致,就当成局部变量来用就可以了

    几种变量的对比使用

    操作类型全局变量会话变量用户变量局部变量(参数)
    文档常用名global variablessession variablesuser-defined variableslocal variables
    出现的位置命令行、函数、存储过程命令行、函数、存储过程命令行、函数、存储过程函数、存储过程
    定义的方式只能查看修改,不能定义只能查看修改,不能定义直接使用,@var形式declare count int(4);
    有效生命周期服务器重启时恢复默认值断开连接时,变量消失断开连接时,变量消失出了函数或存储过程的作用域,变量无效
    查看所有变量show global variables;show session variables;--
    查看部分变量show global variables like 'sql%';show session variables like 'sql%';--
    查看指定变量select @@global.sql_mode
    select @@max_connections;
    select @@session.sql_mode;
    select @@local.sql_mode;
    select @@sql_mode;
    select @var;select count;
    设置指定变量set global sql_mode='';
    set @@global.sql_mode='';
    set session sql_mode = '';
    set local sql_mode = '';
    set @@session.sql_mode = '';
    set @@local.sql_mode = '';
    set @@sql_mode = '';
    set sql_mode = '';
    set @var=1;
    set @var:=101;
    select 100 into @var;
    set count=1;
    set count:=101;
    select 100 into count;

    相信看了这个对比的表格,之前的很多疑惑就应该清楚了,如果发现其中有什么疑惑的地方可以给我留言,或者发现有什么错误也可以一针见血的指出来,我会尽快改正的。

    总结

    1. MySQL 中的变量通常分为:全局变量、 会话变量、 用户变量、 局部变量
    2. 其实还有一个存储过程和函数的参数,这种类型和局部变量基本一致,当成局部变量来使用就行了
    3. 在表格中有一个容易疑惑的点就是无论是全局变量还是会话变量都有select@@变量名的形式。
    4. select@@变量名这种形式默认取的是会话变量,如果查询的会话变量不存在就会获取全局变量,比如@@max_connections
    5. 但是SET操作的时候,set @@变量名=xxx 总是操作的会话变量,如果会话变量不存在就会报错
    展开全文
  • Windows 10 环境变量 (用户变量与系统变量)

    万次阅读 多人点赞 2020-05-03 17:08:00
    Windows 10 环境变量 (用户变量与系统变量) 1. 环境变量 (environment variables) 环境变量 (environment variables) 是在操作系统中用来指定操作系统运行环境的一些参数。环境变量是在操作系统中一个具有特定名字的...

    Windows 10 环境变量 (用户变量与系统变量)

    1. 环境变量 (environment variables)

    环境变量 (environment variables) 是在操作系统中用来指定操作系统运行环境的一些参数。环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。Windows 和 DOS 操作系统中的 path 环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到 path 中指定的路径去找。用户通过设置环境变量,来更好的运行进程。

    Environment variables:环境变量
    User variables:用户变量
    System variables:系统变量
    

    环境变量可分为用户变量与系统变量两类,在注册表中都有对应的项。

    1.1 用户变量

    • 用户变量所在位置:HKEY_CURRENT_USER\Environment

    在这里插入图片描述

    1.2 系统变量

    • 系统变量所在位置:HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment

    在这里插入图片描述

    在原有变量的基础上添加英文状态下的分号,然后添加路径名。不要删除原先的系统变量,只要用分号隔开,然后添加路径名,最后也要加上分号。

    1.3 echo %path%

    Microsoft Windows [版本 10.0.17763.1158]
    (c) 2018 Microsoft Corporation。保留所有权利。
    
    C:\Users\cheng>echo %path%
    C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\iCLS\;C:\Program Files\Intel\Intel(R) Management Engine Components\iCLS\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Users\cheng\AppData\Local\Microsoft\WindowsApps;
    
    C:\Users\cheng>
    C:\Users\cheng>echo %PATH%
    C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\iCLS\;C:\Program Files\Intel\Intel(R) Management Engine Components\iCLS\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Users\cheng\AppData\Local\Microsoft\WindowsApps;
    
    C:\Users\cheng>
    

    环境变量可以理解为系统的视线范围,配置进入了环境变量的可执行程序,就等于是进入了系统的视线范围。

    • 系统变量针对所有用户起作用,为了安全一般配置用户环境变量。
    • 用户变量只对当前用户起作用,不建议为了省事而配置系统环境变量。
    1. 环境变量不区分大小写,path / PATH / Path 表示指定可执行文件的搜索路径。
    2. echo %path% 用户变量会跟在系统变量的后面。
    3. 用户环境变量优先级高于系统环境变量。对于环境变量,系统会先检查用户变量,之后再检查系统变量。
    4. 添加路径以后,要保存,再重启 cmd,确保生效。
    5. Windows 系统在执行用户命令时,若用户未给出文件的绝对路径,则首先在当前目录下寻找相应的可执行文件。然后在用户变量的 path / PATH / Path 路径中查找,如果找不到,再到系统变量的 PATH 路径中查找。如果系统变量和用户变量的 path / PATH / Path 中同时包含相同的路径,则优先使用用户变量 path / PATH / Path 中的路径。

    2. Setting the path and variables in Windows 10

    1. From the desktop, right-click the Computer icon and select Properties. If you don’t have a Computer icon on your desktop, click Start, right-click the Computer option in the Start menu, and select Properties.
    2. Click the Advanced System Settings link in the left column.
    3. In the System Properties window, click on the Advanced tab, then click the Environment Variables button near the bottom of that tab.
    4. In the Environment Variables window, highlight the Path variable in the System variables section and click the Edit button. Add or modify the path lines with the paths you want the computer to access. Each different directory is separated with a semicolon, as shown below.

    You can edit other environment variables by highlighting the variable in the System variables section and clicking Edit. If you need to create a new environment variable, click New and enter the variable name and variable value.

    此电脑 -> 高级系统设置
    在这里插入图片描述

    环境变量
    在这里插入图片描述

    3. List of environment variables in Windows 10

    Microsoft Windows [版本 10.0.17763.1158]
    (c) 2018 Microsoft Corporation。保留所有权利。
    
    C:\Users\cheng>echo %COMMONPROGRAMFILES%
    C:\Program Files\Common Files
    
    C:\Users\cheng>
    C:\Users\cheng>echo %COMMONPROGRAMFILES(x86)%
    C:\Program Files (x86)\Common Files
    
    C:\Users\cheng>
    C:\Users\cheng>echo %COMSPEC%
    C:\Windows\system32\cmd.exe
    
    C:\Users\cheng>
    C:\Users\cheng>echo %HOMEDRIVE%
    C:
    
    C:\Users\cheng>
    C:\Users\cheng>echo %HOMEPATH%
    \Users\cheng
    
    C:\Users\cheng>
    C:\Users\cheng>echo %SYSTEMROOT%
    C:\Windows
    
    C:\Users\cheng>echo %WINDIR%
    C:\Windows
    
    C:\Users\cheng>
    C:\Users\cheng>echo %TMP%
    C:\Users\cheng\AppData\Local\Temp
    
    C:\Users\cheng>
    C:\Users\cheng>echo %TEMP%
    C:\Users\cheng\AppData\Local\Temp
    
    C:\Users\cheng>
    

    %COMMONPROGRAMFILES% - C:\Program Files\Common Files
    %COMMONPROGRAMFILES(x86)% - C:\Program Files (x86)\Common Files
    %COMSPEC% - C:\Windows\System32\cmd.exe
    %HOMEDRIVE% - C:
    %HOMEPATH% - C:\Users\<username>
    %SYSTEMROOT% - C:\Windows
    %WINDIR% - C:\Windows
    %TMP% - C:\Users\<username>\AppData\Local\Temp
    %TEMP% - C:\Users\<username>\AppData\Local\Temp

    Microsoft Windows [版本 10.0.17763.1158]
    (c) 2018 Microsoft Corporation。保留所有权利。
    
    C:\Users\cheng>echo %APPDATA%
    C:\Users\cheng\AppData\Roaming
    
    C:\Users\cheng>
    C:\Users\cheng>echo %ALLUSERSPROFILE%
    C:\ProgramData
    
    C:\Users\cheng>
    C:\Users\cheng>echo %CD%
    C:\Users\cheng
    
    C:\Users\cheng>
    C:\Users\cheng>echo %CMDEXTVERSION%
    2
    
    C:\Users\cheng>
    C:\Users\cheng>echo %DATE%
    2020/05/04 周一
    
    C:\Users\cheng>
    C:\Users\cheng>echo %ERRORLEVEL%
    0
    
    C:\Users\cheng>
    C:\Users\cheng>echo %LOCALAPPDATA%
    C:\Users\cheng\AppData\Local
    
    C:\Users\cheng>
    C:\Users\cheng>echo %LOGONSERVER%
    \\YONGQIANG
    
    C:\Users\cheng>
    C:\Users\cheng>echo %PATH%
    C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\iCLS\;C:\Program Files\Intel\Intel(R) Management Engine Components\iCLS\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Users\cheng\AppData\Local\Microsoft\WindowsApps;C:\Program Files\NVIDIA Corporation\NVSMI;
    
    C:\Users\cheng>
    

    %APPDATA% - C:\Users\<username>\AppData\Roaming
    %ALLUSERSPROFILE% - C:\ProgramData
    %CD% - Typing in this command will give you the current directory you are working in.
    %CMDEXTVERSION% - This variable expands to the version of the command-line extensions.
    %DATE% - This variable will give you the current date according to date format preferences.
    %ERRORLEVEL% - Determines the error level set by last executing command.
    %LOCALAPPDATA% - C:\Users\<username>\AppData\Local
    %LOGONSERVER% - \\<domain_logon_server>
    %PATH% - C:\Windows\system32;C:\Windows;

    Microsoft Windows [版本 10.0.17763.1158]
    (c) 2018 Microsoft Corporation。保留所有权利。
    
    C:\Users\cheng>echo %PATHEXT%
    .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
    
    C:\Users\cheng>
    C:\Users\cheng>echo %PROGRAMDATA%
    C:\ProgramData
    
    C:\Users\cheng>
    C:\Users\cheng>echo %PROGRAMFILES%
    C:\Program Files
    
    C:\Users\cheng>
    C:\Users\cheng>echo %PROGRAMW6432%
    C:\Program Files
    
    C:\Users\cheng>
    C:\Users\cheng>echo %PROGRAMFILES(X86)%
    C:\Program Files (x86)
    
    C:\Users\cheng>
    C:\Users\cheng>echo %PROMPT%
    $P$G
    
    C:\Users\cheng>
    C:\Users\cheng>echo %SYSTEMDRIVE%
    C:
    
    C:\Users\cheng>
    C:\Users\cheng>echo %TIME%
    12:34:57.39
    
    C:\Users\cheng>
    C:\Users\cheng>echo %USERNAME%
    cheng
    
    C:\Users\cheng>
    

    %PATHEXT% - .com;.exe;.bat;.cmd;.vbs;.vbe;.js;.jse;.wsf;.wsh;.msc
    %PROGRAMDATA% - C:\ProgramData
    %PROGRAMFILES% - C:\Program Files
    %PROGRAMW6432% - C:\Program Files
    %PROGRAMFILES(X86)% - C:\Program Files (x86)
    %PROMPT% - $P$G
    %SYSTEMDRIVE% - C:
    %TIME% - Similarly, it gives you current time according to the time format preferences.
    %USERNAME% - <username>

    Microsoft Windows [版本 10.0.17763.1158]
    (c) 2018 Microsoft Corporation。保留所有权利。
    
    C:\Users\cheng>echo %USERPROFILE%
    C:\Users\cheng
    
    C:\Users\cheng>
    C:\Users\cheng>echo %USERDOMAIN%
    YONGQIANG
    
    C:\Users\cheng>
    C:\Users\cheng>echo %USERDOMAIN_ROAMINGPROFILE%
    YONGQIANG
    
    C:\Users\cheng>
    C:\Users\cheng>echo %PUBLIC%
    C:\Users\Public
    
    C:\Users\cheng>
    C:\Users\cheng>echo %PSMODULEPATH%
    C:\Program Files\WindowsPowerShell\Modules;C:\Windows\system32\WindowsPowerShell\v1.0\Modules
    
    C:\Users\cheng>
    C:\Users\cheng>echo %ONEDRIVE%
    C:\Users\cheng\OneDrive
    
    C:\Users\cheng>
    C:\Users\cheng>echo %CMDCMDLINE%
    "C:\Windows\system32\cmd.exe"
    
    C:\Users\cheng>
    C:\Users\cheng>echo %COMPUTERNAME%
    YONGQIANG
    
    C:\Users\cheng>
    C:\Users\cheng>echo %PROCESSOR_REVISION%
    9e0a
    
    C:\Users\cheng>
    

    %USERPROFILE% - C:\Users\<username>
    %USERDOMAIN% - Userdomain associated with current user.
    %USERDOMAIN_ROAMINGPROFILE% - Userdomain associated with roaming profile.
    %PUBLIC% - C:\Users\Public
    %PSMODULEPATH% - %SystemRoot%\system32\WindowsPowerShell\v1.0\Modules\
    %ONEDRIVE% - C:\Users\<username>\OneDrive
    %CMDCMDLINE% - Outputs command line used to launch the current Command Prompt session.
    %COMPUTERNAME% -Outputs the system name.
    %PROCESSOR_REVISION% - Outputs processor revision.

    Microsoft Windows [版本 10.0.17763.1158]
    (c) 2018 Microsoft Corporation。保留所有权利。
    
    C:\Users\cheng>echo %PROCESSOR_IDENTIFIER%
    Intel64 Family 6 Model 158 Stepping 10, GenuineIntel
    
    C:\Users\cheng>
    C:\Users\cheng>echo %PROCESSOR_LEVEL%
    6
    
    C:\Users\cheng>
    C:\Users\cheng>echo %RANDOM%
    25197
    
    C:\Users\cheng>
    C:\Users\cheng>echo %NUMBER_OF_PROCESSORS%
    12
    
    C:\Users\cheng>
    C:\Users\cheng>echo %OS%
    Windows_NT
    
    C:\Users\cheng>
    

    %PROCESSOR_IDENTIFIER% - Outputs processor identifier.
    %PROCESSOR_LEVEL% - Outputs processor level.
    %RANDOM% - This variable prints a random number from 0 through 32767
    %NUMBER_OF_PROCESSORS% - Outputs the number of physical and virtual cores.
    %OS% - Windows_NT

    References

    展开全文
  • 最近在命令行调用一个指令的时候,发现其一直调用的是系统变量Path下的路径而非用户变量Path下的路径,于是,我就上网学习了一下windows下用户变量和系统变量的优先级,故记此文。 文章目录普通变量PATH变量 普通...

    最近在命令行调用一个指令的时候,发现其一直调用的是系统变量Path下的路径而非用户变量Path下的路径,于是,我就上网学习了一下windows下用户变量和系统变量的优先级,故记此文。

    文章目录

    普通变量

    ​ 如果我们在用户变量和系统变量中创建同名变量,那么windows会将用户变量覆盖系统变量。为了验证此,我们可以做一个小实验,在用户变量和系统变量中创建同名变量。

    image-20210303091457484

    然后再cmd中答应该同名变量,最终输出的为用户变量中该变量的值。

    image-20210303091602167

    PATH变量

    ​ 然而,在windows下,Path变量简直是个奇葩一样的存在。windows对于Path变量的处理方式是,将用户变量的Path添加到系统变量Path后面。windows在查找某一指令的时候,是按Path中的路径从前往后找,直至在某个路径中找到了该指令,所以说,如果系统变量Path中有对应指令的话,windows就不会再去用户变量Path中查找,what a stupid guy!

    image-20210303092032981

    image-20210303092050471

    ​ 如果不幸用户Path中和系统Path中存在同名文件,而你又想用用户Path中的文件,那么就只能将用户Path中的该文件所在路径添加到系统Path中该文件所在路径之前,或者将系统Path中该文件所在路径添加到用户Path中该文件所在路径之后。

    展开全文
  • IT人常常会使用dos、终端、控制台等等,多多少少会遇到命令行...用户变量运行在系统变量之上的,每个用户拥有不同的用户变量,不同用户的用户变量之间是并列的,也是互不干扰的。他们之间的关系图如下如所示 二、
  •   首先,按下Windows徽标键,同时用拼音输入法键入“控制面板”。   在“应用”中找到控制面板并打开。   选择“查看方式”为“类别”...  即可分别对“用户变量”与“系统变量”加以新建、编辑、删除。 ...
  • 4、系统变量与用户变量的PATH:告诉系统可执行文件放在什么路径(平常执行程序的路径,要放在PATH里面,不能建一个变量,cmd会提示“不是内部或外部命令,或者不是可执行程序”); 5、windows系统在执行用户命令时...
  • 一、项目中 mapper文件里面碰到了 自定义用户变量,代码是这样的: <select id="getOrgConvInfo" parameterType="com.soft.sdd.othermgr.thirdCount.model.OrgConvSituationModel" resultTyp...
  • 误删path等环境变量(系统变量/用户变量) 切记重启或关机 1. 未关机或重启解决方法 首先按徽标键+R 打开运行,输入 regedit 打开注册表 在目录 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Session Manager\...
  • mysql之用户变量

    千次阅读 2019-04-07 18:19:11
    用户变量 使用场景:定义一个值,方便其他的SQL使用,相当于在不同的SQL之间进行传递变量使用。 两种定义用户变量的方式:set select set的使用方法: set @变量名 {= | := } value [,@变量名 {= | := } value,…] ;...
  • windows 用户变量和系统变量的区别

    千次阅读 2018-12-17 14:50:05
    点击“我的电脑→属性→高级系统设置”标签的“环境变量”按钮,出现“环境变量”对话框,如果当前是以Administrator登录系统的用户,对话框的上面为Administrator的用户变量,对话框的下面为系统变量(即相当于系统...
  • 首先我们可以看到下面在环境变量中有用户变量和系统变量。 用户变量:如果系统中存在多个用户,比如可以多个账号登陆,那么我们在用户A的变量中配置的环境在用户B下就不能使用。(相当与局部变量) 系统变量: 在...
  • jmeter 全局变量和用户变量设置与使用 全局变量 1.添加全局变量 2.设置 ${__setProperty(token,“token123”,)} 括号左边的是函数,括号中的是 变量名和变量值,可以按自己的场景需求去更改 3.使用 ${__property...
  • 1.1 用户变量 1.1.1 用户变量定义 1.1.2 用户变量操作 1.2 系统变量 1.2.1 系统变量定义 1.2.2 系统变量操作 1.3 局部变量 1.3.1 局部变量定义 1.3.2 赋值 1 变量分类 MySQL数据库中的变量分为MySQL系统...
  • 如果你的电脑是多用户在用你就选择用户变量;如果你的电脑是私人电脑,就用系统变量就可以了
  • MySQL--存储过程、局部变量与用户变量[@]1、什么是存储过程1.1存储过程的定义与作用1.1存储过程的创建与调用2、局部变量与用户变量2.1 局部变量2.2 用户变量3、题目部分4、文末彩蛋--轻松一刻    &...
  • Windows系统中用户变量与系统变量的区别

    万次阅读 多人点赞 2019-05-29 18:17:49
    Windows系统中存在两种环境变量:用户变量和系统变量 1、两种环境变量中是可以存在重名的变量的 2、两者都不区分变量名的大小写,如Path和PATH并没有区别 3、用户变量只对当前用户有效 4、系统变量对所有用户...
  • mysql用户变量@的理解

    万次阅读 2018-09-11 23:12:45
    9.3. 用户变量 可以先在用户变量中保存值然后在以后引用它;这样可以将值从一个语句传递到另一个语句。用户变量与连接有关。也就是说,一个客户端定义的变量不能被其它客户端看到或使用。当客户端退出时,该...
  • Ⅱ 、在高级面板中 选择 环境变量 Ⅲ 、进入环境变量后我们需要在用户变量和系统变量中找到 【TEMP】和 【TMP】 注意:修改之前先复制一下原来的路径,用记事本保存。 Ⅳ 、依次选中并编辑变量,修改变量路径以后...
  • windows下用户变量和系统变量

    万次阅读 多人点赞 2018-06-24 14:11:23
    这些变量就像宏定义一样。...Path这个变量在用户变量和环境变量中都有:PATH是路径的意思,PATH环境变量中存放的值,就是一连串的路径。不同的路径之间,用英文的分号(;)分隔开。系统执行用户命...
  • MySQL中变量分为两种:系统变量和用户变量。【1】系统变量系统定义好的变量,大部分时候用户根本不需要使用系统变量。系统变量是用来控制服务器表现的。如:autocommit,auto_increment_increment等。【查看系统变量...
  • 用户变量和环境变量设置

    千次阅读 2017-07-04 10:45:15
    ​首先是设置全局环境变量,对所有用户都会生效: /etc/profile: 此文件为系统的每个用户设置环境信息。当用户登录时,该文件被执行一次,并从 /etc/profile.d 目录的配置文件中搜集shell 的设置。一般用于设置...
  • 对话框的上面为Administrator的用户变量,对话框的以下为系统变量(即相当于系统中全部用户的用户变量)。  有的时候我们会看到在用户变量和系统变量中都存在某一个环境变量。比方path,那么path的值...
  • MySQL的用户变量和系统变量

    千次阅读 2016-09-18 09:10:13
    MySQL中的变量分为用户变量与系统变量。一、用户变量用户变量与数据库的连接相关,在一次连接中声明的变量,在连接断开后就会消失。 查看变量的时候,可以使用show avariables like '...'语句,设置变量时,可以使用...
  • 2.环境变量、shell变量和用户变量的区别和联系 Linux下的变量分为两类:环境变量和shell变量。环境变量存储在/etc/profile文件,命令行shell变量存储在~/.bashrc文件。 shell变量(根据私有与否):用户变量...
  • 环境变量分为系统环境变量用户环境变量。 你所说的环境变量是指系统环境变量,对所有用户起作用 而用户环境变量只对当前用户起作用。 例如你要用java,那么你把java的bin目录加入到path变量下面,那么它就是...
  • MySQL 用户变量 的使用 ---- @变量名

    千次阅读 2019-08-26 09:21:54
    mysql 的用户变量,使用 “@变量名” 定义。 它的作用域为当前连接。 -- 用户变量第一种用法,使用 set,这时可以用 “=” 或 “:=” 两种赋值符号赋值。 set @age := 20; -- 用户变量第二种用法,使用 select,...
  • 在配置环境变量的时候,大家都会经历过一步,那就是现在用户变量里定义一个PATH,然后再修改系统变量Path,那么为什么呢?不能够直接在Path里配置吗? 答案是可以再Path里配置,但是这样会造成一些问题,因为Path是...
  • 用户变量和系统变量的区别

    万次阅读 2016-11-25 09:53:11
    在我们安装了jdk之后,还无法编译和运行java(通过在运行菜单cmd中输入java和javac命令可以测试),这是因为还没有设置环境变量。  windows操作系统根据Path环境变量查找命令,如果能找到,则执行该命令,否则会...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,053,146
精华内容 821,258
关键字:

用户变量