通过批处理bat设置系统环境变量的实现代码_DOS/BAT

在软件运行过程中,可能需要配置计算机的环境变量,在这里分为两种情况:

一:增加或修改环境变量只在当前软件环境中使用

如我们设置Java的环境变量:

set CLASSPATH=%CLASSPATH%;C:\LS\JAVA.JAR
保持原有的不变  自己加上要加的jar包,用分号隔开,当然你也可以写到前面,如:set CLASSPATH=D:/My_Path;%CLASSPATH%
set JAVA_HOME=  这里的路径自己写吧
不过这样写只对你打开的这个dos窗口有效,也就是你只有在这个窗口用java等命令,才会找到你才设的变量JAVA_HOME等
如果想看看是否设置成功可以用:echo %JAVA_HOME%

常用此方法配置当前软件的运行环境,如在PL/SQL的启动时,使用批处理(bat)来启动他并配置Oracle的变量信息,网上这种代码很多就不贴出来了,需要的自己去搜索。

二:通关注册表永久性的保存设置或增加的环境变量

以下是我从网上找的代码,很简单,如果你看不懂的,再给我留言吧:

实例一:批处理设置系统环境变量

::添加环境变量JAVA_HOME
@echo off
echo 添加java环境变量
set regpath=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
set evname=JAVA_HOME
set javapath=c:\java\jdk
reg add "%regpath%" /v %evname% /d %javapath% /f
pause>nul

::删除环境变量JAVA_HOME
@echo off
echo 删除java环境变量
set regpath=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
set evname=JAVA_HOME
reg delete "%regpath%" /v "%evname%" /f
pause>nul

实例二:先判断该环境变量是否已经存在,如果不存在则添加该环境变量。

@echo off
  @set Path_=D:\Program Files
  for,/f,"skip=4 tokens=1,2,*",%%a,in,('reg query "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment" /v Path'),do,(
  @set PathAll_=%%c
  )
  echo %PathAll_%|find /i "%Path_%" && set IsNull=true|| set IsNull=false
  if not %IsNull%==true (
     reg add "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment" /v Path /t REG_EXPAND_SZ /d "%PathAll_%;%Path_%" /f
  )
pause

对于实例一和实例二是从简单到复杂的过程,主要是拍有些人对代码的理解程度不同。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索设置
系统环境变量
dos 批处理 变量、dos bat 变量、bat批处理脚本命令、bat批处理、bat批处理文件,以便于您获取更多的相关知识。

时间: 2024-10-23 01:53:52

通过批处理bat设置系统环境变量的实现代码_DOS/BAT的相关文章

用批处理生成网页文件并打开的代码_DOS/BAT

非常的强啊,将下列内容用记事本做成bat文件,然后运行即可 复制代码 代码如下: @echo off  del CMD命令速查手册.htm >nul  echo.===============================  echo......请稍候,构造htm文件中.....  echo.===============================   >CMD命令速查手册.htm echo ^<head^>  >>CMD命令速查手册.htm echo ^<

bat、vbs、js 原生混编(一个bat可以执行vbs,js代码)_DOS/BAT

发现 mshta 会把 file:// 协议指向的文件当作 html 来解析(注:IUnknown 与 happyxxdhaha 提醒此处必需使用绝对路径,否则不会执行),心里顿时有一万只草泥马奔过,原来如此简单的答案就在身边,却错过了四年 基本框架: 复制代码 代码如下: <!-- : bathome @echo off echo I'm Batch! mshta "file://%~f0" pause&exit 使用注释标签囊括批处理部分,条件是批处理部分不能出现注释

批处理实现文本内容居中显示的代码_DOS/BAT

a.txt 代码: [Promise don't come easy] I should have known all along. There was something wrong. I just never read between the lines. Then I woke up one day and found you on your way. Leaving nothing but my heart behind. What can I do to make it up to y

批处理bat递归计算N!的实现代码_DOS/BAT

核心代码: @echo off :: 代码来自网友:liangbch setlocal enabledelayedexpansion echo To calculate n^^! set/p nn=n=? set/a "buff_1=1,rad=10000,len=1" for /l %%i in (1,1,%nn% ) do ( set/a cc=0 for /l %%j in (1,1,!len!) do ( set/a "tt=buff_%%j* %%i+!cc!&qu

批处理实现一行内容分行输出的代码_DOS/BAT

a.txt: aA1一bB2二cC3三dD4四eE5五fF6六gG7七hH8八iI9九 输出如下: abcdefghi ABCDEFGHI 123456789 一二三四五六七八九 唯一要求,老手略过,留给新手做练习,不能直接echo. 请先发现其中的规律. 其他,生成临时文件.代码超过一页都不重要,正确输出即可. 523066680: 复制代码 代码如下: @echo off setlocal enabledelayedexpansion set a=-1 for /f "tokens=*&qu

写批处理必备的一些命令参数使用技巧_DOS/BAT

 首先批处理文件是一个文本文件,这个文件的每一行都是一条DOS命令(大部分时候就好象我们在DOS提示符下执行的命令行一样),你可以使用DOS下的Edit或者Windows的记事本(notepad)等任何文本文件编辑工具创建和修改批处理文件. 其次,批处理文件是一种简单的程序,可以通过条件语句(if)和流程控制语句(goto)来控制命令运行的流程,在批处理中也可以使用循环语句(for)来循环执行一条命令.当然,批处理文件的编程能力与C语言等编程语句比起来是十分有限的,也是十分不规范的.批处理的程序

BAT批处理文件语法第1/2页_DOS/BAT

扩展名是bat(在nt/2000/xp/2003下也可以是cmd)的文件就是批处理文件.  .bat是dos下的批处理文件  .cmd是nt内核命令行环境的另一种批处理文件  从更广义的角度来看,unix的shell脚本以及其它操作系统甚至应用程序中由外壳进行解释执行的文本,都具有与批处理文件十分相似的作用,而且同样是由专用解释器以行为单位解释执行,这种文本形式更通用的称谓是脚本语言.所以从某个程度分析,batch, unix shell, awk, basic, perl 等脚本语言都是一样的

DOS批处理中%~dp0等扩充变量语法详解_DOS/BAT

有时候我们看到别人使用%~dp0 ~是扩展的意思,相当于把一个相对路径转换绝对路径 %0代指批处理文件自身 %1表示批处理文件命令行接收到的第一个参数,%2表示第二个,以此类推 %~d0 是指批处理所在的盘符,其中d代表drive %~p0 是指批处理所在的目录,其中p代表path %~dp0 是批处理所在的盘符加路径 cd %~dp0 就是进入批处理所在目录了 详细解释还可参考命令 call /? DOS批处理中%~dp0表示什么意思 (注: %0 就是该 batch 文件的文件名) 这句的意

设置系统环境变量立即生效的VBS脚本

可以设置环境变量并立即生效, 与Windows批处理不同的是此脚本设置的环境变量可保证重启后一样有用.保存以下内容为 设置环境变量.vbs , 修改要设置的环境变量名即路径即可开始运行设置. Code Set pSysEnv = CreateObject("WScript.Shell").Environment("System") 'Check whether a character string matches a regular expression ' ^\w