精华内容
下载资源
问答
  • 批处理符号设置

    2018-07-31 17:55:20
    这是一篇针对批处理中常用符号的详细解释,每个符号都有解释及相应的举例,希望通过比较系统的讲述,能让新手尽快入门。  在这篇帖子中,我对常用符号的讲解做如下限定:  1、收集批处理中经常用到的符号;  2、...

    转载链接:https://blog.csdn.net/tz2101/article/details/51479438

    这是一篇针对批处理中常用符号的详细解释,每个符号都有解释及相应的举例,希望通过比较系统的讲述,能让新手尽快入门。

      在这篇帖子中,我对常用符号的讲解做如下限定:
      1、收集批处理中经常用到的符号;
      2、每个常用符号,只讲述最常用的功能;深入的用法留待将来介绍;
      这样限定的原因,一是让新手系统地接触最常用符号的常用功能,不至于一开始就陷入技术细节中难以自拔;二是有些符号的用法非常罕见,没有特定的需求可以忽略掉,比如句柄复制符号;三是有些高深的内容本人也没有完全消化,只解说一鳞半爪难免会误人子弟,比如 set /a 中的^、!等符号;

      如有遗漏或谬误,请大家及时跟帖,帮忙修正。
    ————————————————————————————————————————————

    1、@
      一般在它之后紧跟一条命令或一条语句,则此命令或语句本身在执行的时候不会显示在屏幕上。请把下面的代码保存为test.cmd文件,然后运行,比较一下两条echo语句在屏幕上的输出差异:

    
     
    1. echo a
    2. @pause
    3. @echo b
    4. @pause

    复制代码 执行结果如下:

    C:\Documents and Settings\JM\桌面>echo a
    a
    请按任意键继续...
    b
    请按任意键继续...



    2、%、%%
      百分号用在不同的场合,有不同的含义:
      ① 当百分号成对出现,并且其间包含非特殊字符时,一般做变量引用处理,比如:%var%、%str%。把以下代码保存为批处理文件,运行后观察屏幕显示结果:

    
     
    1. @echo off
    2. set str=abc
    3. echo 变量 str 的值是: %str%
    4. pause

    复制代码 在屏幕上将显示这样的结果:

    变量 str 的值是: abc
    按任意键继续...


      另外,百分号作为变量引用还有一种特殊形式,那就是对形式参数的引用,此时,单个百分号后面紧跟0~9这10个数字,如%0、%1,请看演示代码:

    
     
    1. @echo off
    2. if defined str goto next
    3. set str=
    4. set /p str=请把文件拉到本窗口后回车:
    5. call "%~0" %str%
    6. pause
    7. exit
    8.  
    9. :next
    10. cls
    11. echo 本批处理文件完整路径为:"%~0"
    12. echo 拖到本窗口的文件完整路径为:"%~1"
    13. goto :eof

    复制代码 ② 出现在 set /a 语句中时,表示两数相除取余数,也就是所谓的模运算,它在命令行窗口和批处理文件中的写法略有差异:在命令行窗口中,只需要单个的%,在批处理文件中,需要连续两个百分号,写成%%。
      例如:在命令行窗口中,运行 set /a num=4%2 ,则结果将显示0,因为4除以2的余数为0;如果保存为批处理文件,则此语句将略有改变:

    
     
    1. @echo off
    2. set /a num=4%%2
    3. echo 4除以2的余数为 %num%
    4. pause

    复制代码 ③ 转义符号:如果要显示%本身时,需要在前面用%来转义。例如:

    
     
    1. @echo off
    2. echo 一个百分号:%%
    3. echo 两个百分号:%%%%
    4. echo 三个百分号:%%%%%%
    5. pause

    复制代码 3、:、::
      ① 以:打头的单个的:表示该行是一个标签,它之后的内容是一个标签段,如:test,则表示:test之下的内容是标签段,而test是这个标签段的名,可以用 goto test 、goto :test 跳转到该标签段或用 call :test 调用该子过程;而连续两个冒号打头表示该行内容为注释内容,实际上,:: 是个无效的标签名,:加上空格同样可以起到注释的作用,此时,::的功能和注释命令rem相同;但是,rem 注释语句中的某些命令符号如重定向符号和管道符号还是会执行,而如果用::来注释的时候,与::同处一行的所有命令或符号直接被命令解释器忽略掉,无形中提高了注释的兼容性和整个程序的执行效率,并且在众多的命令语句中更显得醒目,所以,注释语句推荐使用::的格式。
      ② 在 set 语句中:和~同时使用时,: 起到截取字符串的功能。假设 set str=abcde,那么,set var=%str:~0,1% 表示截取字符串abcde的第一个字符;和=同时使用时,起到替换字符串的功能。假设:set str=abc:de,那么,set var=%str:a=1% 则表示把字符串abc:de中的a替换为1,set var=%str::=2% 则表示把字符串abc:de中的:替换为2;

    4、~
      ① 用在 set 语句中,和:同时使用时,起到截取字符串的功能,请参考上一条的解释;
      ② 用在 set /a 语句中时,它是一元运算符号,表示将操作数字按位取反,例如,set /a num=~1的执行结果是-2,set /a num=~0的结果是-1
      ③ 用在for语句中,表示增强for的功能,能够提取到更多的信息。例如:在批处理文件的for语句中:%%~i表示去掉第一对外侧引号,%%~zi表示获取文件的大小(以字节为单位),%%~ni表示获取文件名,%%~xi表示获取扩展名(带点号)……它们可以组合使用,如%%~nxi表示获取文件名和后缀名。

    5、>、>>
      一般而言,>表示用新内容覆盖原文件内容,>>表示向原文件追加内容,此时,它们以重定向符号的身份出现;如果用在 set /a 语句中,则>表示分组,>>表示逻辑移位;

    6、|
      一般而言,它以管道符号的身份出现,表示把在它之前的命令或语句的执行结果作为在它之后的命令或语句的处理对象,简而言之,就是把它之前的输出作为它之后的输入,例如:echo abcd|findstr "b",表示把echo abcd的执行结果,作为findstr "b" 的执行对象,也就是在字符串abcd中查找b字符;如果test.txt中有abcd字符串,则该语句与 findstr "b" test.txt 具有同样的效果;

    7、^
      一般而言,^以转义字符的身份出现。因为在cmd环境中,有些字符具备特殊功能,如>、>>表示重定向,|表示管道,&、&&、||表示语句连接……它们都有特定的功能,如果需要把它们作为字符输出的话,echo >、echo | ……之类的写法就会出错——cmd解释器会把它们作为具有特殊功能的字符对待,而不会作为普通字符处理,这个时候,就需要对这些特殊字符做转义处理:在每个特殊字符前加上转义字符^,因此,要输出这些特殊字符,就需要用 echo ^>、echo ^|、echo ^|^|、echo ^^……之类的格式来处理;

    8、&
      一般而言,&表示两条命令或语句同时执行的意思。如 echo a&echo b,将在屏幕上同时显示a和b字符。当几条语句含义近似或作用相同且没有先后的顺序之别时,启用&符号连接这些语句将会增加程序的可读性;

    9、&&、||
      这是一对含义截然相反的命令符,&&表示如果它之前的语句成功执行,将执行它之后的语句,而||则表示如果它之前的语句执行失败,将执行它之后的语句;在某些场合,它们能替代 if……else…… 语句;例如:

    
     
    1. @echo off
    2. md test&&echo 成功创建文件夹test||echo 创建文件夹test失败
    3. pause

    复制代码 效果等同于如下代码:

    
     
    1. @echo off
    2. md test
    3. if "%errorlevel%"=="0" (echo 成功创建文件夹test) else echo 创建文件夹test失败
    4. pause

    复制代码 10、()
      小括号对经常出现在for语句和if语句中,还有一些特定场合;在for和if语句中属于语句格式的要求,例如:
      ① for %%i in (语句1) do (语句2):在这条语句中,语句1必须用括号对包围,而语句2的括号对则可视情况予以抛弃或保留:如果语句2是单条语句或用&、&&、||等连接符号连接的多条语句,括号对可以抛弃,如果语句2是有逻辑先后关系的多条语句集合,则必须保留括号对,并且,多条语句必须断行书写;例如:

    
     
    1. @echo off
    2. for %%i in (a b c) do echo %%i&echo --------
    3. pause

    复制代码 也可以改写为:

    
     
    1. @echo off
    2. for %%i in (a b c) do (
    3.     echo %%i
    4.     &echo --------
    5. )
    6. pause

    复制代码 ② if 条件 (语句1) else (语句2):如果没有else部分,则语句1的括号对可有可无;如果有else部分,则语句1中的括号对必须保留,此时,语句2中的括号对保留与否,和上一点类似。例如:

    
     
    1. @echo off
    2. if exist test.txt echo 当前目录下有test.txt
    3. pause

    复制代码

    
     
    1. @echo off
    2. if exist test.txt (echo 当前目录下有test.txt) else echo 当前目录下没有test.txt
    3. pause

    复制代码

    
     
    1. @echo off
    2. if exist test.txt (echo 当前目录下有test.txt) else (
    3.     echo 当前目录下没有test.txt
    4.     pause
    5.     cls
    6.     echo 即将创建test.txt文件
    7.     cd.>test.txt&&echo 成功创建test.txt
    8. )
    9. pause

    复制代码 ③ 特定场合下使用括号对,不但可以使代码逻辑清晰,增强可读性,还可能会减少代码量。比如用echo语句构造多行文本内容的时候:

    
     
    1. @echo off
    2. (
    3. echo 第一行
    4. echo 第二行
    5. echo 第三行
    6. )>test.txt
    7. start test.txt

    复制代码 如果不使用括号对的话,则需要使用如下代码:

    
     
    1. @echo off
    2. echo 第一行>test.txt
    3. echo 第二行>>test.txt
    4. echo 第三行>>test.txt
    5. start test.txt

    复制代码 11、+、-、*、/
      在 set /a 语句中,这些符号的含义分别为:加、减、乘、除。例如:set /a num=1+2-3*4/5。需要注意的是,这些运算符号遵循数学运算中的优先级顺序:先乘除后加减,有括号的先算括号,并且,直接忽略小数点,因此,刚才那个算式的结果是1而不是0或0.6。
      另外,有可能会在代码中看到这样的写法:set /a num+=1、set /a num-=1、set /a num*=1 和 set /a num/=1,这些表示累加、累减、累乘、累除,步长都是1,展开后的完整写法为:set /a num=num+1、set /a num=num-1、set /a num=num*1 和 set /a num=num/1(set /a 语句中,变量引用可以忽略百分号对或感叹号对,set /a num=%num%+1 与 set /a num=num+1 等同)

    12、equ、neq、lss、leq、gtr、geq
      这几个命令符是if语句中常用到的数值比较符号,取自英文的关键字母,具体的含义为:

    命令符号        含义                英文解释
    EQU                等于                equal
    NEQ                不等于                 not equal
    LSS                少于                 less than
    LEQ                少于或等于         less than or equal
    GTR                大于                 greater than
    GEQ                大于或等于         greater than or equal
    展开全文
  • DOS命令与批处理

    热门讨论 2017-09-03 21:25:05
    DOSDOS(Disk Operating System)是磁盘操作系统。DOS是一个单用户、单任务的操作系统,通过对计算机手动输入命令行...md c:\fox(在当前驱动器C盘下创建子目录fox批处理批处理(Batch)也称为批处理脚本,指对某对象进

    DOS

    DOS(Disk Operating System)是磁盘操作系统。DOS是一个单用户、单任务的操作系统,通过对计算机手动输入命令行的方式,对计算机进行操作和控制。

    DOS命令含有目录操作,磁盘操作,文件操作及其他操作

    举例:

    md–建立子目录

    格式:格式:md[盘符:][路径名]<子目录名>

    md c:\fox(在当前驱动器C盘下创建子目录fox

    这里写图片描述

    批处理

    批处理(Batch)也称为批处理脚本,指对某对象进行批量的处理。应用于DOS和Windows系统中。

    批处理的本质:是DOS命令按一定的顺序排列而成的集合

    BATCH,批处理文件后缀BAT就取得前三个字母。

    每一行可视为一个命令,每个命令里可以含多条字命令,运行平台是DOS

    例:

    @echo off
    If exist c:\progra-1\Tencent\AD\*.gif del c:\progra-1\Tencent\AD\*.gif
    a.bat

    Echo off指关闭回显,echo on指打开回显。即使批处理中的命令不在显示器上显示,但它本身会显示,如果不想显示,可以加个@

    该条命令指监视是否有广告图片,地址为QQ的安装地址。**

    PING

    因特网包探索器

    ping是windows、unix、和linux系统下的一个命令。也属于通信协议,是TCP/IP的一部分

    利用ping命令可以检查网络是否连通,可以帮助分析和判断网络故障。

    ping命令是第一个必须掌握的DOS命令,利用原理:利用网络上机器IP地址的唯一性,给目标IP地址发送一个数据包,再要求对方返回一个同样大小的数据包来确定两台网络机器是否连接相通,时延是多少

    举一个简单的例子:

    总结:批处理与DOS的联系

    批处理大部分是由一些dos命令一行一行组成的,然后批处理能连续执行这么行命令,但有些命令不是dos命令。批处理基本是由DOS命令组成,但多了些流程控制命令如|,<,>,>>,nul, 等。批处理是可以引用到外部程序的,而外部程序的识别是靠文件名和扩展名的优先级。

    展开全文
  • 批处理常用符号详解

    千次阅读 2016-05-23 09:55:22
    这是一篇针对批处理中常用符号的详细解释,每个符号都有解释及相应的举例,希望通过比较系统的讲述,能让新手尽快入门。  在这篇帖子中,我对常用符号的讲解做如下限定:  1、收集批处理中经常用到的符号; ...
    这是一篇针对批处理中常用符号的详细解释,每个符号都有解释及相应的举例,希望通过比较系统的讲述,能让新手尽快入门。

      在这篇帖子中,我对常用符号的讲解做如下限定:
      1、收集批处理中经常用到的符号;
      2、每个常用符号,只讲述最常用的功能;深入的用法留待将来介绍;
      这样限定的原因,一是让新手系统地接触最常用符号的常用功能,不至于一开始就陷入技术细节中难以自拔;二是有些符号的用法非常罕见,没有特定的需求可以忽略掉,比如句柄复制符号;三是有些高深的内容本人也没有完全消化,只解说一鳞半爪难免会误人子弟,比如 set /a 中的^、!等符号;

      如有遗漏或谬误,请大家及时跟帖,帮忙修正。
    ————————————————————————————————————————————

    1、@
      一般在它之后紧跟一条命令或一条语句,则此命令或语句本身在执行的时候不会显示在屏幕上。请把下面的代码保存为test.cmd文件,然后运行,比较一下两条echo语句在屏幕上的输出差异:
    1. echo a
    2. @pause
    3. @echo b
    4. @pause
    复制代码 执行结果如下:
    C:\Documents and Settings\JM\桌面>echo a
    a
    请按任意键继续...
    b
    请按任意键继续...


    2、%、%%
      百分号用在不同的场合,有不同的含义:
      ① 当百分号成对出现,并且其间包含非特殊字符时,一般做变量引用处理,比如:%var%、%str%。把以下代码保存为批处理文件,运行后观察屏幕显示结果:
    1. @echo off
    2. set str=abc
    3. echo 变量 str 的值是: %str%
    4. pause
    复制代码 在屏幕上将显示这样的结果:
    变量 str 的值是: abc
    按任意键继续...

      另外,百分号作为变量引用还有一种特殊形式,那就是对形式参数的引用,此时,单个百分号后面紧跟0~9这10个数字,如%0、%1,请看演示代码:
    1. @echo off
    2. if defined str goto next
    3. set str=
    4. set /p str=请把文件拉到本窗口后回车:
    5. call "%~0" %str%
    6. pause
    7. exit
    8. :next
    9. cls
    10. echo 本批处理文件完整路径为:"%~0"
    11. echo 拖到本窗口的文件完整路径为:"%~1"
    12. goto :eof
    复制代码 ② 出现在 set /a 语句中时,表示两数相除取余数,也就是所谓的模运算,它在命令行窗口和批处理文件中的写法略有差异:在命令行窗口中,只需要单个的%,在批处理文件中,需要连续两个百分号,写成%%。
      例如:在命令行窗口中,运行 set /a num=4%2 ,则结果将显示0,因为4除以2的余数为0;如果保存为批处理文件,则此语句将略有改变:
    1. @echo off
    2. set /a num=4%%2
    3. echo 4除以2的余数为 %num%
    4. pause
    复制代码 ③ 转义符号:如果要显示%本身时,需要在前面用%来转义。例如:
    1. @echo off
    2. echo 一个百分号:%%
    3. echo 两个百分号:%%%%
    4. echo 三个百分号:%%%%%%
    5. pause
    复制代码 3、:、::
      ① 以:打头的单个的:表示该行是一个标签,它之后的内容是一个标签段,如:test,则表示:test之下的内容是标签段,而test是这个标签段的名,可以用 goto test 、goto :test 跳转到该标签段或用 call :test 调用该子过程;而连续两个冒号打头表示该行内容为注释内容,实际上,:: 是个无效的标签名,:加上空格同样可以起到注释的作用,此时,::的功能和注释命令rem相同;但是,rem 注释语句中的某些命令符号如重定向符号和管道符号还是会执行,而如果用::来注释的时候,与::同处一行的所有命令或符号直接被命令解释器忽略掉,无形中提高了注释的兼容性和整个程序的执行效率,并且在众多的命令语句中更显得醒目,所以,注释语句推荐使用::的格式。
      ② 在 set 语句中:和~同时使用时,起到截取字符串的功能。假设 set str=abcde,那么,set var=%str:~0,1% 表示截取字符串abcde的第一个字符;和=同时使用时,起到替换字符串的功能。假设:set str=abc:de,那么,set var=%str:a=1% 则表示把字符串abc:de中的a替换为1,set var=%str::=2% 则表示把字符串abc:de中的:替换为2;

    4、~
      ① 用在 set 语句中,和:同时使用时,起到截取字符串的功能,请参考上一条的解释;
      ② 用在 set /a 语句中时,它是一元运算符号,表示将操作数字按位取反,例如,set /a num=~1的执行结果是-2,set /a num=~0的结果是-1
      ③ 用在for语句中,表示增强for的功能,能够提取到更多的信息。例如:在批处理文件的for语句中:%%~i表示去掉第一对外侧引号,%%~zi表示获取文件的大小(以字节为单位),%%~ni表示获取文件名,%%~xi表示获取扩展名(带点号)……它们可以组合使用,如%%~nxi表示获取文件名和后缀名。

    5、>、>>
      一般而言,>表示用新内容覆盖原文件内容,>>表示向原文件追加内容,此时,它们以重定向符号的身份出现;如果用在 set /a 语句中,则>表示分组,>>表示逻辑移位;

    6、|
      一般而言,它以管道符号的身份出现,表示把在它之前的命令或语句的执行结果作为在它之后的命令或语句的处理对象,简而言之,就是把它之前的输出作为它之后的输入,例如:echo abcd|findstr "b",表示把echo abcd的执行结果,作为findstr "b" 的执行对象,也就是在字符串abcd中查找b字符;如果test.txt中有abcd字符串,则该语句与 findstr "b" test.txt 具有同样的效果;

    7、^
      一般而言,^以转义字符的身份出现。因为在cmd环境中,有些字符具备特殊功能,如>、>>表示重定向,|表示管道,&、&&、||表示语句连接……它们都有特定的功能,如果需要把它们作为字符输出的话,echo >、echo | ……之类的写法就会出错——cmd解释器会把它们作为具有特殊功能的字符对待,而不会作为普通字符处理,这个时候,就需要对这些特殊字符做转义处理:在每个特殊字符前加上转义字符^,因此,要输出这些特殊字符,就需要用 echo ^>、echo ^|、echo ^|^|、echo ^^……之类的格式来处理;

    8、&
      一般而言,&表示两条命令或语句同时执行的意思。如 echo a&echo b,将在屏幕上同时显示a和b字符。当几条语句含义近似或作用相同且没有先后的顺序之别时,启用&符号连接这些语句将会增加程序的可读性;

    9、&&、||
      这是一对含义截然相反的命令符,&&表示如果它之前的语句成功执行,将执行它之后的语句,而||则表示如果它之前的语句执行失败,将执行它之后的语句;在某些场合,它们能替代 if……else…… 语句;例如:
    1. @echo off
    2. md test&&echo 成功创建文件夹test||echo 创建文件夹test失败
    3. pause
    复制代码 效果等同于如下代码:
    1. @echo off
    2. md test
    3. if "%errorlevel%"=="0" (echo 成功创建文件夹test) else echo 创建文件夹test失败
    4. pause
    复制代码 10、()
      小括号对经常出现在for语句和if语句中,还有一些特定场合;在for和if语句中属于语句格式的要求,例如:
      ① for %%i in (语句1) do (语句2):在这条语句中,语句1必须用括号对包围,而语句2的括号对则可视情况予以抛弃或保留:如果语句2是单条语句或用&、&&、||等连接符号连接的多条语句,括号对可以抛弃,如果语句2是有逻辑先后关系的多条语句集合,则必须保留括号对,并且,多条语句必须断行书写;例如:
    1. @echo off
    2. for %%i in (a b c) do echo %%i&echo --------
    3. pause
    复制代码 也可以改写为:
    1. @echo off
    2. for %%i in (a b c) do (
    3.     echo %%i
    4.     &echo --------
    5. )
    6. pause
    复制代码 ② if 条件 (语句1) else (语句2):如果没有else部分,则语句1的括号对可有可无;如果有else部分,则语句1中的括号对必须保留,此时,语句2中的括号对保留与否,和上一点类似。例如:
    1. @echo off
    2. if exist test.txt echo 当前目录下有test.txt
    3. pause
    复制代码
    1. @echo off
    2. if exist test.txt (echo 当前目录下有test.txt) else echo 当前目录下没有test.txt
    3. pause
    复制代码
    1. @echo off
    2. if exist test.txt (echo 当前目录下有test.txt) else (
    3.     echo 当前目录下没有test.txt
    4.     pause
    5.     cls
    6.     echo 即将创建test.txt文件
    7.     cd.>test.txt&&echo 成功创建test.txt
    8. )
    9. pause
    复制代码 ③ 特定场合下使用括号对,不但可以使代码逻辑清晰,增强可读性,还可能会减少代码量。比如用echo语句构造多行文本内容的时候:
    1. @echo off
    2. (
    3. echo 第一行
    4. echo 第二行
    5. echo 第三行
    6. )>test.txt
    7. start test.txt
    复制代码 如果不使用括号对的话,则需要使用如下代码:
    1. @echo off
    2. echo 第一行>test.txt
    3. echo 第二行>>test.txt
    4. echo 第三行>>test.txt
    5. start test.txt
    复制代码 11、+、-、*、/
      在 set /a 语句中,这些符号的含义分别为:加、减、乘、除。例如:set /a num=1+2-3*4/5。需要注意的是,这些运算符号遵循数学运算中的优先级顺序:先乘除后加减,有括号的先算括号,并且,直接忽略小数点,因此,刚才那个算式的结果是1而不是0或0.6。
      另外,有可能会在代码中看到这样的写法:set /a num+=1、set /a num-=1、set /a num*=1 和 set /a num/=1,这些表示累加、累减、累乘、累除,步长都是1,展开后的完整写法为:set /a num=num+1、set /a num=num-1、set /a num=num*1 和 set /a num=num/1(set /a 语句中,变量引用可以忽略百分号对或感叹号对,set /a num=%num%+1 与 set /a num=num+1 等同)

    12、equ、neq、lss、leq、gtr、geq
      这几个命令符是if语句中常用到的数值比较符号,取自英文的关键字母,具体的含义为:
    命令符号        含义                英文解释
    EQU                等于                equal
    NEQ                不等于                 not equal
    LSS                少于                 less than
    LEQ                少于或等于         less than or equal
    GTR                大于                 greater than
    GEQ                大于或等于         greater than or equal
    展开全文
  • 本资源由大量的实用批处理文件组成,删除.txt尾缀名双击即可直接使用,既是学习的模板也可以作为实用程序,如下为文件组成,涉及文件管理,系统,网络,小工具等等: 0-reaname 2000XP停止打印.bat BAT珍藏 dir.bat...
  • windows通过批处理设置环境变量 CreateTime--2017年8月4日11:28:11Author:Marydon 参考链接:https://wenku.baidu.com/view/ae132fa103d276a20029bd64783e0912a2167c11.html 一、系统变量  1.添加系统变量  ...
     

    windows通过批处理设置环境变量

    CreateTime--2017年8月4日11:28:11
    Author:Marydon

    参考链接:https://wenku.baidu.com/view/ae132fa103d276a20029bd64783e0912a2167c11.html

    一、系统变量

      1.添加系统变量

        1.1 设置变量值为路径

        举例:设置JAVA_HOME环境变量

        方式一:变量值使用绝对路径

    @echo off  
    :: 设置JDK环境变量JAVA_HOME
    wmic ENVIRONMENT create name="JAVA_HOME",username="<system>",VariableValue="D:\ProgramFiles(x86)\Java\jdk1.7.0_79"  
    echo %JAVA_HOME%    
    pause

        方式二:变量值使用相对路径

    @echo off  
    :: 设置JDK环境变量JAVA_HOME
    wmic ENVIRONMENT create name="JAVA_HOME",username="<system>",VariableValue="%~dp0jdk1.7.0_79"  
    echo %JAVA_HOME%    
    pause 

        将上面代码复制到txt文件中,路径改成你的jdk安装路径,保存后,名称随意(如:JAVA_HOME),双击运行-->win+r-->输入sysdm.cpl-->高级-->环境变量-->在系统变量中即可看到

        构成:

          name用于指定环境变量名称,username用于指定环境变量的属性:临时变量/系统变量,VariableValue用于指定环境变量所对应的值,都是固定用法

        区别:

        方式一对于Java程序的安装路径的要求比较高,即变量值对应的值必须与Java的安装路径完全一致,但是对于该bat文件存放在哪个位置无关;

        方式二的%~dp0表示批处理文件所在的文件夹的路径,即:D:\ProgramFiles(x86)\Java;

        方式二对于Java程序的安装路径没有要求,但是对于该bat文件存放位置有很大要求,该bat文件存放在Java文件夹下,

        所以JAVA_HOME="%~dp0jdk1.7.0_79",“%~dp0”和“jdk1.7.0_79”之间不用加“\”;

        如果还是不明白,请自行百度绝对路径与相对路径的区别

        1.2 设置变量值为死值

         举例:设置PLSQL的环境变量NLS_CHARACTERSET和NLS_LANG

    @echo off    
    :: 设置PLSQL的环境变量NLS_CHARACTERSET 
    wmic ENVIRONMENT create name="NLS_CHARACTERSET",username="<system>",VariableValue="AL32UTF8"  
    echo %NLS_CHARACTERSET%    
    :: 设置PLSQL的环境变量NLS_LANG
    wmic ENVIRONMENT create name="NLS_LANG",username="<system>",VariableValue="AMERICAN_AMERICA.AL32UTF8"  
    echo %NLS_LANG%  
    pause

        保存成bat文件后,双击运行即可。

      2.删除环境变量

    @echo off  
    :: 删除JDK环境变量JAVA_HOME
    wmic ENVIRONMENT where name="JAVA_HOME" delete
    pause

      3.修改环境变量

    @echo off 
    :: 更新环境变量JAVA_HOME的值
    wmic ENVIRONMENT where "name='JAVA_HOME' and username='<system>'" set VariableValue="test"  
    echo %JAVA_HOME%
    pause

     

      注意:

        where 关键字后跟的参数必须是一个连续的字符串,如果参数字符串含有空格需要用英文双引号 " 将参数括起来;

        若字符串中有多个限定词,比如既有 name 又有 username,则需要使用 and 关键字来连接这些限定词。       

    二、临时变量

      1.添加临时变量

    set password=123

      将其保存成bat文件后,双击运行即可

      说明:临时变量只在当前窗口有效,一旦关闭,就会消失

    三、结语

      1.使用 wmic 命令修改环境变量是永久性的,而使用 set 命令修改环境变量是只针对当前命令行环境的临时修改;

      2.pause-->终止命令执行,不关闭窗口(可以查看执行结果);exit-->终止命令执行并关闭执行窗口;

      3.查看环境变量通常通过DOS窗口通过set +变量名称查看;

      4.使用批处理改变环境变量,需要重启资源管理器或注销或重启后才能生效;

      5.与其配置JAVA_HOME环境变量,再将其配置到Path中,不如直接在Path添加jdk的环境(编译&运行)

      错误方式:在path最前面添加配置

    @echo off 
    :: 在Path最前面添加JDK环境(编译&运行)
    wmic ENVIRONMENT where "name='path' and username='<system>'" set VariableValue="%~dp0jdk1.7.0_79\bin;%path%"  
    echo %path%
    pause

      打开进入命令窗口,输入set path,重启前:

      重启资源管理器后结果展示:

      

      解说:

        如图所示,通过命令的方式实现在Path最前面添加内容虽然实现了,但是会添加两次,因此不推荐使用,想要实现,需要到环境变量管理中手动进行配置 

      正确方式:在path最后面添加配置

      最佳方式:在path最后面添加配置并重启资源管理器

    @echo off 
    :: 在Path最前面添加JDK环境(编译&运行)
    wmic ENVIRONMENT where "name='path' and username='<system>'" set VariableValue="%path%;%~dp0jdk1.7.0_79\bin"  
    echo %path%
    :: 重启资源管理器
    taskkill /f /im explorer.exe
    start explorer.exe
    exit 

      效果展示:

     

     

     

     

    转载于:https://www.cnblogs.com/Marydon20170307/p/7284352.html

    展开全文
  • 跑批利器--批处理应用程序 首先先了解一下什么是批处理...现在举例一个最常见的场景:批处理应用程序从一个文件系统中导出数据到另个系统,在导出的过程中进行相关的逻辑处理,这么一个场景的场景就是它的提现. ...
  • 这是一篇针对批处理中常用符号的详细解释,每个符号都有解释及相应的举例,希望通过比较系统的讲述,能让新手尽快入门。 在这篇帖子中,我对常用符号的讲解做如下限定: 1、收集批处理中经常用到的符号; 2、每个...
  • [批处理]符号简介

    2010-06-03 01:58:21
    @用法举例:通过运行批处理文件对比pause和@pause命令即可明了@的效果。 【 重定向1 &gt;与&gt;&gt; 】 将输出信息重定向到指定的设备或文件。系统默认输出到显示器。 如:echo aaaaa&gt;a.txt ...
  • @用法举例:通过运行批处理文件对比pause和@pause命令即可明了@的效果。【 重定向1 >与>> 】将输出信息重定向到指定的设备或文件。系统默认输出到显示器。如:echo aaaaa>a.txt 即...
  • 词库格式举例.txt 读取带敏感字符的行.cmd 读心术P处理版.bat 读心术P处理版.cmd 调用系统气泡.cmd 超级硬盘杀手.bat 跳舞机.bat 跳舞机.cmd 身份证信息查询.cmd 身份证号码格式.txt 输出指定行的内容.cmd 输出...
  • 这是一篇针对批处理中常用符号的详细解释,每个符号都有解释及相应的举例,希望通过比较系统的讲述,能让新手尽快入门。  在这篇帖子中,我对常用符号的讲解做如下限定: 1、收集批处理中经常用到的符号; 2、每...
  • 无需验证即可实现局域网访问说明:本批处理执行后,将作以下一些设置:1、允许SAM帐户和共享的匿名枚举(原版系统允许,本系统设为禁用)。2、本机帐户若空密码,允许其它机访问本机。3、Windows防火墙:允许文件和...
  • webstart 打包批处理

    2007-08-11 12:02:00
    为 Web Start 打包需要...这篇文字举例了如何使用命令行以及命令行输入的重定向来替代重复的操作.具体的工具用法请读者自己找说明.命令行不熟悉,可以参考操作系统上的帮助,文中不对命令行进行解释.数字签名过程中有密钥
  • 目录: 获取某路径下的所有文件名.cmd 1个BAT搞定1切.exe 动画说明.txt 批处理文件.bat ...两整数相除的批处理.cmd ...C盘防毒批处理.bat ...词库格式举例.txt date.txt 身份证信息查询.cmd 身份证号码格式.txt
  • 1:首先使用npm、cnpm或者yarn下载所需插件,以nodemon这个插件举例 npm install -g nodemon 2:命令行查询插件版本信息 nodemon --version 3:如果提示‘nodemon’ 不是内部或外部命令解决方法 找到nodejs...
  • 上面的/s /e 参数的作用分别是把子目录和空目录都复制过去,一些使用举例和参数说明如下: 1、如只是单纯地复制 E:\ 盘上所有文件到 D:\ 盘上,就输入“ xcopy e:\*.* d: /s /h "就行啦!如果在复制过程中,你不要...
  • 这里以nrm举例: 打开cmd窗口执行 nrm ls 出现报错 ‘nrm’ 不是内部或外部命令,也不是可运行的程序 或批处理文件。 解决方法1:打开环境变量 新建系统环境变量 变量名:NODE_PATH 变量值 D:\tools\front-env\...
  • 我们拿mysql举例: 1.切换到mysql.exe文件所在目录; 2.将mysql.exe文件所在目录添加到操作系统内的环境变量中; 3.右击“我的电脑”-->属性-->高级-->环境变量; 4.系统变量-->path-->将mysql....
  • 操作系统的发展2.1 人工操作方式2.2 脱机输入/输出方式2.3 单道批处理系统2.4 多道批处理系统(OS开始出现)2.5 分时系统2.6 实时系统2.7 微机操作系统发展2.8 常用的操作系统举例2.9 计算机的分类3. 操作系统的...
  • 1:首先使用npm、cnpm或者yarn下载所需插件,以nodemon这个插件举例 npm install -g nodemon 2:命令行查询插件版本信息 nodemon --version 3:如果提示‘nodemon’ 不是内部或外部命令解决方法 找到...
  • top命令用法举例

    2018-08-31 11:43:58
    top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows...-b 批处理 -c 显示完整的治命令 -I 忽略失效过程 -s 保密模式 -S 累积模式 -i&lt;时间&gt; 设置间隔时间...
  • 文章目录一、操作系统导学1、操作系统的演进1)无操作系统2)批处理系统3)分时系统2、多道程序设计1)概念2)操作系统对多道程序的管理i、五大功能二、操作系统概览1、What&Why1)什么是操作系统i 、不同操作...
  • OS 什么是操作系统 操作系统本质上是一个运行在计算机上的软件程序 ,用于管理计算机硬件和软件资源。 举例:运行在你电脑上的所有应用程序都通过操作...单道批处理系统:利用脱机输入系统,将作业输入到磁带,在系统中
  • 4. 试说明推动多道批处理系统形成和发展的主要动力是什么。5. 何谓脱机 I/O 和联机 I/O?6. 试说明推动分时系统形成和发展的主要动力是什么。7. 实现分时系统的关键问题是什么?应如何解决?8. 为什么要引入实时 OS...
  • 单道批处理系统 主要优点:引入脱机输入/输出技术(用磁带完成,也就是离线磁盘),监督程序负责控制作业的输入、输出, 缓解了一定程度的人机速度矛盾,资源利用率有所提升。 主要缺点:内存中仅能有一道程序运行,只

空空如也

空空如也

1 2 3 4
收藏数 78
精华内容 31
关键字:

批处理系统举例