`

bat(batch)知识整理

阅读更多
批处理文件,在MS-DOS中,.bat文件是可执行文件,有一系列命令构成,其中可以包含对其他程序的调用。
常用命令

echo、@、call、pause、rem(小技巧:用::代替rem)是批处理文件最常用的几个命令,我们就从他们开始学起。
echo 表示显示此命令后的字符
echo off 表示在此语句后所有运行的命令都不显示命令行本身
@与echo off相象,但它是加在每个命令行的最前面,表示运行时不显示这一行的命令行(只能影响当前行)。
call 调用另一个批处理文件(如果不用call而直接调用别的批处理文件,那么执行完那个批处理文件后将无法返回当前文件并执行当前文件的后续命令)。
pause 运行此句会暂停批处理的执行并在屏幕上显示Press any key to continue...的提示,等待用户按任意键后继续
rem 表示此命令后的字符为解释行(注释),不执行,只是给自己今后参考用的(相当于程序中的注释)。
标号用“:字符串”来定义,标号所在行不被执行


Example1

@echo off
dir e:\*.* > e:\dir.txt
echo 你好
pause 
rem 等待

看看你的E盘dir.txt 文件中有什么?

Example2
@echo off
if exist e:\dir.txt type e:\dir.txt

简单判断

Example3

@ echo off
echo 1:sd
echo 2:ds
set /p sd=选择 :
if /i "%sd%"=="1" goto s
if /i "%sd%"=="2" goto a
:s
start f:\a.txt
goto end
:a
start f:\b.txt
goto end
:end
echo. &pause

实现选择choice在xp中不行用set代替,start 后可以跟你要启动的文件。

Example4,输出常用命令的帮助

echo ver >F:\TestBat\tmp.txt
ver >>F:\TestBat\tmp.txt
echo cmd /? >>F:\TestBat\tmp.txt
cmd /? >>F:\TestBat\tmp.txt
echo rem /? >>F:\TestBat\tmp.txt
rem /? >>F:\TestBat\tmp.txt
echo if /? >>F:\TestBat\tmp.txt
if /? >>F:\TestBat\tmp.txt
echo goto /? >>F:\TestBat\tmp.txt
goto /? >>F:\TestBat\tmp.txt
echo for /? >>F:\TestBat\tmp.txt
for /? >>F:\TestBat\tmp.txt
echo shift /? >>F:\TestBat\tmp.txt
shift /? >>F:\TestBat\tmp.txt
echo call /? >>F:\TestBat\tmp.txt
call /? >>F:\TestBat\tmp.txt
echo type /? >>F:\TestBat\tmp.txt
type /? >>F:\TestBat\tmp.txt
echo find /? >>F:\TestBat\tmp.txt
find /? >>F:\TestBat\tmp.txt
echo findstr /? >>F:\TestBat\tmp.txt
findstr /? >>F:\TestBat\tmp.txt
echo copy /? >>F:\TestBat\tmp.txt
copy /? >>F:\TestBat\tmp.txt

查看> type F:\TestBat\tmp.txt

Example5 环境变量
查看环境变量> set |more(|more管道命令,可以一步一步看)
path: 表示可执行程序的搜索路径
对环境变量的引用使用(英文模式,半角)双引号 %windir% 变量

@echo off
rem 变量引用
set STARTPRGNAME=wInG
echo %%STARTPRGNAME%% 变量值为 %STARTPRGNAME%

rem 变量替换
set STARTPRGNAME=%STARTPRGNAME:G=gzero%
echo %%STARTPRGNAME%% 变量经过字符替换后为 %STARTPRGNAME%

rem 区分大小写比较
if %STARTPRGNAME%==wingzero echo 看看这句有没有输出
if /i %STARTPRGNAME%==wingzero echo 这句呢?输出了吧。

rem 变量添加
set STARTPRGNAME=.;wangming_add;%STARTPRGNAME%
echo %%STARTPRGNAME%% 变量追加为 %STARTPRGNAME%
set STARTPRGNAME=.;wangming_add;
echo %%STARTPRGNAME%% 变量没有追加为 %STARTPRGNAME%

pause>nul


设置Java环境变量

@echo off
IF EXIST %1\bin\java.exe (
rem 如输入正确的 Java2SDK 安装目录,开始设置环境变量
@setx JAVA_HOME %1
@setx path %path%;%JAVA_HOME%\bin
@setx classpath %classpath%;.
@setx classpath %classpath%;%JAVA_HOME%\lib\tools.jar
@setx classpath %classpath%;%JAVA_HOME%\lib\dt.jar
@setx classpath %classpath%;%JAVA_HOME%\jre\lib\rt.jar
@echo on
@echo Java 2 SDK 环境参数设置完毕,正常退出。
) ELSE (
IF "%1"=="" (
rem 如没有提供安装目录,提示之后退出
@echo on
@echo 没有提供 Java2SDK 的安装目录,不做任何设置,现在退出环境变量设置。
) ELSE (
rem 如果提供非空的安装目录但没有bin\java.exe,则指定的目录为错误的目录
@echo on
@echo 非法的 Java2SDK 的安装目录,不做任何设置,现在退出环境变量设置。
)
)


运行>example5.bat C:\Java\jdk6

批处理文件的参数

批处理文件还可以像C语言的函数一样使用参数(相当于DOS命令的命令行参数),这需要用到一个参数表示符“%”。

%[1-9]表示参数,参数是指在运行批处理文件时在文件名后加的以空格(或者Tab)分隔的字符串。变量可以从%0到%9,%0表示批处理命令本身,其它参数字符串用%1到%9顺序表示。

或者一下方式,追加
SET PATH =.;C:\Java\jdk6\bin;%PATH%

set JAVA_HOME=jdk在本机上的安装路径(为了运行javac,java命令)
显示JAVA_HOME中的环境变量   echo %JAVA_HOME%
set path=%path%;jdk中bin文件夹在本机上的安装路径
显示path中的环境变量        echo %path%

特殊符号
> 创建一个文件
>> 追加到一个文件后面
@ 前缀字符.表示执行时本行在cmd里面不显示, 可以使用 echo off关闭显示
^ 对特殊符号( > < &)的前导字符. 第一个只是显示aaa 第二个输出文件bbb
echo 123456 ^> aaa
echo 1231231 > bbb
() 包含命令
(echo aa & echo bb)
, 和空格一样的缺省分隔符号.
; 注释,表示后面为注释
: 标号作用
| 管道操作
& Usage:第一条命令 & 第二条命令 [& 第三条命令...]
用这种方法可以同时执行多条命令,而不管命令是否执行成功
dir c:\*.exe & dir d:\*.exe & dir e:\*.exe
&& Usage:第一条命令 && 第二条命令 [&& 第三条命令...]
当碰到执行出错的命令后将不执行后面的命令,如果一直没有出错则一直执行完所有命令;
|| Usage:第一条命令 || 第二条命令 [|| 第三条命令...]
当碰到执行正确的命令后将不执行后面的命令,如果没有出现正确的命令则一直执行完所有命令; 


=========================
纯以dos系统而言,可执行程序大约可以细分为五类,依照执行优先级由高到低排列分别是:
DOSKEY宏命令(预先驻留内存)
COMMAND.COM中的内部命令(根据内存的环境随时进驻内存)
以com为扩展名的可执行程序(由command.com 直接载入内存)
以exe位扩展名的可执行程序(由command.com 重定位后载入内存)
以bat位扩展名的批处理程序(由command.com 解释分析,根据其内容按优先级顺序调用第1,2,3,4,5种可执行程序,分析一行,执行一行,文件本身不载入内存)
==========================











分享到:
评论

相关推荐

    BAT批处理脚本-磁盘碎片整理.zip

    本文将详细介绍如何使用BAT批处理脚本来进行磁盘碎片整理,以及相关的重要知识点。 首先,批处理脚本是基于DOS或Windows操作系统中的命令解释器(CMD.exe)运行的文本文件,它包含了一系列的DOS命令,如复制、移动...

    BAT批处理脚本-垃圾清理清除-碎片整理.zip

    在IT行业中,批处理脚本是一种非常实用的自动化工具,特别是在Windows系统环境下,BAT(Batch)文件被广泛用于执行一系列命令行操作。本压缩包"BAT批处理脚本-垃圾清理清除-碎片整理.zip"主要关注的是系统维护,特别...

    bat.rar_bat_各类bat文件_常用bat文件

    BAT文件,全称是批处理文件(Batch File),是Microsoft Windows系统中的一种文本脚本文件,主要用于自动化执行一系列命令,简化用户的操作流程。 【描述】"各类WIN系统常用bat文件集合,你要什么都有"说明这个...

    bat编程基础教程

    本教程旨在介绍BAT(Batch)脚本的基础知识与实践技巧,帮助初学者快速掌握批处理命令的编写方法。BAT文件是一种在MS-DOS、Windows等操作系统环境下运行的脚本文件,它通过一系列预定义的命令来实现自动化任务处理。...

    Bat学习笔记大全

    本文档旨在系统地整理并解析与Batch相关的各种知识点,帮助读者更好地理解和掌握Batch脚本的基础及进阶用法。 #### 1. 批处理文件(.bat) 批处理文件通常是以`.bat`或`.cmd`为扩展名的文本文件,其内部包含了一系列...

    常用批处理 bat 程序合集

    批处理(Batch Processing)是计算机领域中一种自动化执行任务的技术,尤其在Windows系统中,批处理文件通常以`.bat`为扩展名。这种技术允许用户将一系列命令组合成一个脚本,以简化复杂的操作流程,提高工作效率。...

    BAT批处理脚本-文件相关操作-不显示扩展名.bat.zip

    例如,你可以创建一个批处理脚本来批量重命名文件、更改文件属性、整理文件夹结构等。批处理脚本的强大之处还在于其可定制性,通过组合不同的命令和逻辑判断,几乎可以实现任何基于文件系统的自动化需求。 总结来说...

    bat整理笔记

    然而,根据提供的标题和描述,这里的"bat"似乎是指批处理(Batch)命令,它是Windows操作系统中用于自动化执行一系列命令的一种脚本语言。批处理文件通常以.bat或.cmd为扩展名。下面,我们将深入探讨批处理文件的...

    同扩展名文件自动复制归类到指定位置BAT

    标题中的“同扩展名文件自动复制归类到...以上就是关于“同扩展名文件自动复制归类到指定位置BAT”的相关知识点。通过学习和理解这些概念,你可以创建自己的批处理脚本来自动化管理文件,提高日常工作和生活的效率。

    DOS批处理文件BAT教程.pdf

    ### DOS批处理文件BAT教程知识点总结 #### 一、基础命令使用详解 ##### 1. `echo` 和 `echo off` - **`echo`**: 显示此命令之后的所有字符。例如,`echo Hello World` 将会在屏幕上显示“Hello World”。 - **`...

    bat批处理命令文件类型语法格式应用详解.txt

    ### bat批处理命令文件类型语法格式应用详解 #### 一、概述 在计算机科学与技术领域,批处理脚本...对于初学者来说,掌握这些基础知识是非常重要的,能够帮助他们在实际工作中更有效地使用批处理脚本来提高工作效率。

    SVN Help in batch programming

    如果你不熟悉批处理脚本,可以学习批处理语言的基础知识,如变量、条件语句、循环以及如何调用外部程序,这些都是编写类似 `mksvnhelp.bat` 的脚本所必需的技能。此外,熟悉SVN的基本命令和工作流程也是关键,这样你...

    BAT批处理脚本-文本操作-合并文本.zip

    在这个名为"BAT批处理脚本-文本操作-合并文本.zip"的压缩包中,主要包含的是关于如何使用批处理脚本来合并文本文件的知识点。 批处理脚本的基础在于DOS命令,如`COPY`、`TYPE`、`ECHO`等。在描述中提到,部分文件...

    清除系统垃圾批处理BAT文件

    标题中的“清除系统垃圾批处理BAT文件”是指利用批处理(Batch)脚本技术,编写一个Windows批处理程序,用于自动清理计算机中的无用文件,提高系统运行效率。批处理文件通常以.BAT为扩展名,是Windows操作系统中的一...

    BAT批处理脚本-文本操作-多行文本拼接成一行.cmd.zip

    在IT行业中,批处理脚本是一种非常实用的自动化工具,特别是在Windows系统环境下,BAT(Batch)文件被广泛用于执行一系列命令行操作。本压缩包"BAT批处理脚本-文本操作-多行文本拼接成一行.cmd.zip"包含了用于处理...

    常用批处理bat程序包70合1

    批处理(Batch Processing)是计算机领域中一种自动化执行任务的技术,尤其在Windows操作系统中,它主要通过.bat或.cmd文件来实现。这些文件包含了命令行指令序列,可以一次性执行多个操作,极大地提高了工作效率。...

    收集的常用批处理 bat 程序

    批处理(Batch Processing)是计算机领域中一种自动化执行任务的技术,尤其在Windows操作系统中,通过批处理脚本(BAT文件)可以实现一系列命令的连续执行,简化日常的系统管理和维护工作。下面,我们将深入探讨...

    BAT 批处理教程

    批处理(Batch Processing)是Windows操作系统中的一种自动化工具,它允许用户将一系列命令组合成一个名为BAT的批处理文件,从而实现连续执行这些命令,简化了重复性的系统管理任务。批处理文件本质上是文本文件,...

    根据文件名创建文件件,将文件移动到对应的文件夹中

    本文将详细解析标题“根据文件名创建文件件,将文件移动到对应的文件夹中”所涉及的知识点,并提供实现这一功能的方法。 首先,我们要理解这个任务的核心目标:基于文件的扩展名(后缀名)来创建相应的文件夹,并将...

    BAT批处理脚本-垃圾清理清除-注册表沉余文件清理工具.zip

    标题中的“BAT批处理脚本”是指在Windows操作系统中,使用批处理(Batch)技术编写的脚本程序。这些脚本通常以`.bat`或`.cmd`为扩展名,能够批量执行一系列命令行操作,极大地提高了系统管理和维护的效率。在IT领域...

Global site tag (gtag.js) - Google Analytics