cmd 环境变量设置方法详细解释

所属分类: 脚本专栏 / DOS/BAT 阅读数: 1194
收藏 0 赞 0 分享

cmd设置环境变量可以方便我们bat脚本的运行,但是要注意的是变量只在当前的cmd窗口有作用(局部生效),如果想要设置持久的环境变量需要我们通过两种手段进行设置:一种是直接修改注册表,另一种是通过我的电脑-〉属性-〉高级,来设置系统的环境变量。

1、查看当前所有可用的环境变量:输入 set 即可查看。


2、查看某个环境变量:输入 “set 变量名”即可,比如想查看temp变量的值,即输入 set temp


当然也可以使用echo %temp%


3、修改环境变量 :输入 “set 变量名=变量内容”即可,比如将temp设置为“d:\tempfile”,只要输入set temp="d:\tempfile"。注意,此修改环境变量是指用现在的内容去覆盖以前的内容,并不是追加。比如当我设置了上面的path路径之后,如果我再重新输入set temp="c",再次查看temp路径的时候,其值为“c”,而不是“d:\tempfile”;“c”。

4、设置为空:如果想将某一变量设置为空,输入“set 变量名=”即可。如“set path=” 那么查看path的时候就为空。注意,上面已经说了,只在当前命令行窗口起作用。因此查看path的时候不要去右击“我的电脑”——“属性”........

5、给变量追加内容(不同于3,那个是覆盖):输入“set 变量名=%变量名%;变量内容”。如,为temp添加一个新的路径,输入“ set path=%path%;d:\tempfile”即可将d:\tempfile添加到path中,再次执行"set path=%path%;c:",那么,使用set path语句来查看的时候,将会有:d:\tempfile;c:,而不是像第3步中的只有c:。

环境变量详细解释

1、查看当前可用的所有环境变量(=系统变量+用户变量)

set

查看某个环境变量,如PATH

set PATH

添加环境变量,如xxx=aa

set xxx=aa

将环境变量(如xxx)的值置为空

set xxx=

在某个环境变量(如PATH)后添加新的值(如d:\xxx)

set PATH=%PATH%;d:\xxx

[注]:以命令行方式对环境变量的操作只对当前窗口的应用有效!

2、Windows下JAVA用到的环境变量主要有3个:JAVA_HOME、CLASSPATH、PATH。

1)JAVA_HOME指向的是JDK的安装路径,如x:\ j2sdk1.4.2,在这路径下你应该能够找到bin、lib等目录。设置方法:JAVA_HOME=c:\ j2sdk1.4.2

2)PATH变量的作用
java程序在运行时首先在path变量所定义的路径去找java.exe,并以最先找到的为准,如果安装完j2sdk后不加设置,一般是C:\WINDOWS\system32目录。
j2sdk1.4(还有其它java开发工具如jbuilder8)在安装后会将java.exe拷贝到C:\WINDOWS\system32目录下,当执行java.exe时,需要装载这个SDK下的一些文件。
如j2sdk1.4在安装完成后,C:\WINDOWS\system32下的java.exe在运行时会在C:\Program File\java\目录下装载必需的一些文件。但安装j2sdk后一般会在PATH变量的最前面设置C:\ j2sdk1.4.2 \bin。
当先安装j2sdk1.4.2,后安装jbuilder8等开发工具时,由于jbuilder8的java.exe在拷贝到C:\WINDOWS\system32时可能覆盖了j2sdk1.4.2的java.exe,那么这时在运行的java.exe会到jbuilder8所在的目录去装载必需的一些文件。

3)CLASSPATH环境变量的作用
告诉类装载器到哪里去寻找第三方提供的类和用户定义的类。也可用使用JVM命令行参数-classpath分别为应用程序指定类路径,在-classpath中指定的类路径覆盖CLASSPATH环境变量中指定的值。

3、当机器内装有多个SDK版本时,如何查看所用的是哪个SDK?

java -verbose

在出现的屏幕信息中可以看出系统装载的是哪个目录下的文件。

4、Windows OS下设置PATH的方法

〔系统〕->〔环境〕-> 〔高级〕,在PATH变量的文本框中的最前面输入C:\ j2sdk1.4.2\bin
或在命令行窗口中执行 set path=c:\j2sdk1.4.2\bin;%path%; 这样在命令行窗口的任一路径下都可以执行java.exe程序了。或设置PATH=%JAVA_HOME%\bin;%PATH%

5、对于CLASSPATH环境变量的设置方法要加倍小心,是因为以后你出现的莫名其妙80%以上的怪问题都可能是由于CLASSPATH设置不对引起的。

CLASSPATH=.\;%JAVA_HOME%\lib\tools.jar

首先要注意的是最前面的".\;",——句点反斜杠分号。这个是告诉JDK,搜索CLASS时先查找当前目录的CLASS文件。
【Troubleshooting】

编译会出现以下情况,看你是否真得都理解环境变量的设置,并能解决它。
[T1]error:java不是一个可运行的程序? 由于没有设置环境变量path
[T2] error:不能打开某个目录? 可能是忽视了path环境变量中的目录的设置顺序。
[T3]Exception on thread “main” java.lang.DoClassDefFoundError:Test? 没有设置classpath的路径。

cmd查看环境变量

1、查看当前所有可用的环境变量:输入 set 即可查看。
2、查看某个环境变量:输入 “set 变量名”即可,比如想查看path变量的值,即输入 set path
3、修改环境变量 :输入 “set 变量名=变量内容”即可,比如将path设置为“d:\hacker.exe”,只要输入set path="d:\nmake.exe"。注意,此修改环境变量是指用现在的内容去覆盖以前的内容,并不是追加。比如当我设置了上面的path路径之后,如果我再重新输入set path="c",再次查看path路径的时候,其值为“c:”,而不是“d:\nmake.exe”;“c”。
4、设置为空:如果想将某一变量设置为空,输入“set 变量名=”即可。如“set path=” 那么查看path的时候就为空。注意,上面已经说了,只在当前命令行窗口起作用。因此查看path的时候不要去右击“我的电脑”——“属性”........
5、给变量追加内容(不同于3,那个是覆盖):输入“set 变量名=%变量名%;变量内容”。如,为path添加一个新的路径,输入“ set path=%path%;d:\hacker.exe”即可将d:\hacker.exe添加到path中,再次执行"set path=%path%;c:",那么,使用set path语句来查看的时候,将会有:d:\hacker.exe;c:,而不是像第3步中的只有c:。

%ALLUSERSPROFILE% 局部 返回所有“用户配置文件”的位置。
%APPDATA% 局部 返回默认情况下应用程序存储数据的位置。
%CD% 局部 返回当前目录字符串。
%CMDCMDLINE% 局部 返回用来启动当前的 Cmd.exe 的准确命令行。
%CMDEXTVERSION% 系统 返回当前的“命令处理程序扩展”的版本号。
%COMPUTERNAME% 系统 返回计算机的名称。
%COMSPEC% 系统 返回命令行解释器可执行程序的准确路径。
%DATE% 系统 返回当前日期。使用与 date /t 命令相同的格式。由 Cmd.exe 生成。有关 date 命令的详细信息,请参阅 Date。
%ERRORLEVEL% 系统 返回最近使用过的命令的错误代码。通常用非零值表示错误。
%HOMEDRIVE% 系统 返回连接到用户主目录的本地工作站驱动器号。基于主目录值的设置。用户主目录是在“本地用户和组”中指定的。
%HOMEPATH% 系统 返回用户主目录的完整路径。基于主目录值的设置。用户主目录是在“本地用户和组”中指定的。
%HOMESHARE% 系统 返回用户的共享主目录的网络路径。基于主目录值的设置。用户主目录是在“本地用户和组”中指定的。
%LOGONSEVER% 局部 返回验证当前登录会话的域控制器的名称。
%NUMBER_OF_PROCESSORS% 系统 指定安装在计算机上的处理器的数目。
%OS% 系统 返回操作系统的名称。Windows 2000 将操作系统显示为 Windows_NT。
%PATH% 系统 指定可执行文件的搜索路径。
%PATHEXT% 系统 返回操作系统认为可执行的文件扩展名的列表。
%PROCESSOR_ARCHITECTURE% 系统 返回处理器的芯片体系结构。值: x86,IA64。
%PROCESSOR_IDENTFIER% 系统 返回处理器说明。
%PROCESSOR_LEVEL% 系统 返回计算机上安装的处理器的型号。
%PROCESSOR_REVISION% 系统 返回处理器修订号的系统变量。
%PROMPT% 局部 返回当前解释程序的命令提示符设置。由 Cmd.exe 生成。
%RANDOM% 系统 返回 0 到 32767 之间的任意十进制数字。由 Cmd.exe 生成。
%SYSTEMDRIVE% 系统 返回包含 Windows XP 根目录(即系统根目录)的驱动器。
%SYSTEMROOT% 系统 返回 Windows XP 根目录的位置。
%TEMP% and %TMP% 系统和用户 返回对当前登录用户可用的应用程序所使用的默认临时目录。有些应用程序需要 TEMP,而其它应用程序则需要 TMP。
%TIME% 系统 返回当前时间。使用与 time /t 命令相同的格式。由 Cmd.exe 生成。有关 time 命令的详细信息,请参阅 Time。
%USERDOMAIN% 局部 返回包含用户帐户的域的名称。
%USERNAME% 局部 返回当前登录的用户的名称。
%UserProfile% 局部 返回当前用户的配置文件的位置。
%WINDIR% 系统 返回操作系统目录的位置。

更多精彩内容其他人还在看

XP下WORKSTATION启动慢导致系统启动时间过长问题的解决方法

通常安装过VMwareWorkstation导致系统启动过慢,经分析后,发现WORKSTATION服务启动时间较长,禁用后效果明显,可WORKSTATION是WINDOWS的共享基础服务,像我就离不开这个服务的,所以只需下面的脚本就可以解决问题了
收藏 0 赞 0 分享

IP动态切换bat脚本

因为公司办公室要设置固定IP才行,而家里的IP段和公司是不一样的,家里采用了DHCP机制,这样每次就得改IP设置,很是不方便,就写了这个脚本来动态切换,很流畅的说! WINXP,WIN7测试通过
收藏 0 赞 0 分享

奥汀管理员不切换bat脚本 V1.0-Design by Adobo

很多程序不能在管理员权限下运行,尤其是一些破解的程序。所以写了这个脚本,不影响正常的管理员,也不用切换到USERS账户~
收藏 0 赞 0 分享

cmd NTSD命令用法详解

ntsd 是一条dos命令,功能是用于结束一些常规下结束不了的死进程
收藏 0 赞 0 分享

win2003下杀任何进程的命令(taskkill,ntsd)

才能关掉一个用任务管理器关不了的进程?大多数人想到的都是专门工具,如IceSword。其实用Windows自带的工具就能杀大部分进程
收藏 0 赞 0 分享

Windows和 Linux下生成以当前时间命名文件的方法

在 Windows、Linux 操作系统,分别利用BAT批处理文件和Shell脚本,生成类似“20110228_082905.txt”以“年月日_时分秒”命名的文件
收藏 0 赞 0 分享

用批处理去掉快捷方式上的小箭头图案的代码

用批处理去掉快捷方式上的小箭头图案的代码,需要的朋友可以参考下。
收藏 0 赞 0 分享

xcopy 实现批处理拷贝文件或文件夹

xcopy 是一个很有用的doc命令,应该学习学习,XCOPY 还有众多的功能, 是加参数来完成的。上面的/s /e 参数的作用分别是把子目录和空目录都复制过去
收藏 0 赞 0 分享

安全工具netsh IPSec使用方法[ip安全策略]

IPSec的全称是Internet Protocol Security,翻译成中文就是Internet协议安全性。它的作用主要有两个:一个是保护 IP 数据包的内容,另外一点就是通过数据包筛选并实施受信任通讯来防御网络攻击
收藏 0 赞 0 分享

注册表危险组件删除功能批处理

用批处理实现的删除注册表危险组件的代码,主要应用于服务器,个人电脑不建议使用。
收藏 0 赞 0 分享
查看更多