批处理.bat脚本入门详细使用教程

批处理.bat脚本入门详细使用教程表示关闭批处理文件自身的回显 即执行此句之后的命令不会显示出来 只有输出结果会被显示

大家好,欢迎来到IT知识分享网。

批处理简介

批处理(Batch),也称为批处理脚本。顾名思义,批处理就是对某对象进行批量的处理,通常被认为是一种简化的脚本语言,它应用于 DOS 和 Windows 系统中。批处理文件的扩展名为 bat(或 cmd)。通常我们指定的批处理指 DOS批处理脚本

批处理.bat脚本入门详细使用教程

基本语法

 注释

rem 带@echo off,所有的执行的命令都不显示了,显示执行命令后的结果 @echo off chcp 65001 :: 这里的::为注释符,下面的echo显示文字 echo "批处理使用::注释" rem 使当前程序暂停,可以理解为cmd窗口暂停,方便查看信息 pause
  • 当关闭回显时,rem和::后的内容都不会显示。
  • 当打开回显时,rem 后的内容会显示出来,然而::后的内容仍然不会显示。
  • chcp 65001 :这行命令会将命令行窗口的编码切换到UTF-8

 变量

[设置变量]
格式:set 变量名=变量值
详细:被设定的变量以%变量名%引用

::声明变量 set myVariable=value ::引用变量 echo %myVariable% :: 定义数字变量 set /a n=0 rem 定义字符串变量 SET myString=Hello, World! SET myString="Hello, World!" echo %myString% rem 如果变量名包含空格,需要使用引号,如: SET "myString=Hello, World!" :: 定义数组变量 set arr=1 2 3 4 5 6 ::使用set /p命令从用户那里读取输入并将其存储到变量中 set /p myVariable1=Please enter a value: echo %myVariable1% ::删除变量 set /d myVariable 

 运算

rem 加减乘除运算 set /a z=10*5 乘法 set /a z=10/5 除法 set /a z=10+5 加法 set /a z=10-5 减法 set /a z=10%%3 取余 echo %z% rem大于、小于等 set /a a=1,b=2 if %a% equ %b% (echo yes) else (echo no) if %a% neq %b% (echo yes) else (echo no) if %a% lss %b% (echo yes) else (echo no) if %a% leq %b% (echo yes) else (echo no) if %a% gtr %b% (echo yes) else (echo no) if %a% geq %b% (echo yes) else (echo no) ::重定向操作 echo "hello world" >>a.txt rem 多名命令运算 ::第一个命令错误不会执行第二个命令 ipconfig && net user ::第一个命令执行成功不会执行第二个命令 ipconfig || net user rem 管道符号 ::第一个命令A的输出当做第二个命令B的输入 dir | find ".txt" 

()                        分组

! ~                        一元运算符(逻辑非、按位非、取负)

* / %                      算数运算符(乘、除得商、除得余数,即取余)

+ –                         算数运算符(加、减)

<< >>                    逻辑移位(左移一位、右移一位)

&                           按位“与”

^                           按位“异”

|                            按位“或”

= *= /= %= += -=   赋值

&= ^= |= <<= >>=  赋值

,表达式分隔符(set可一次处理多个表达式)

 函数

函数格式:

@echo off ::开始调用函数 call:myBatFunc echo "run end" pause ::函数部分开始 :myBatFunc - here starts my function identified by it`s label echo. here the myBatFunc function is executing a group of commands echo. it could do a lot of things ::函数结束标志 goto:eof 

 函数传参

@echo off setlocal enabledelayedexpansion call:main pause :getStringLength ::第一个函数参数:%~1;第二个则使用%~2; :: %~1:当参数以引号开头时,%~1会自动将引号删除;%1不会自动将引号删除 set "string=%~1" set "length=0" :: 计算字符串长度 for /L %%i in (1,1,254) do ( set /a "length=!length!+1" set "char=!string:~%%i,1!" if "!char!"=="" goto for_end ) :for_end echo Length of string is: %length% goto:eof :main call :getStringLength Hello call :getStringLength "Hello, World!" goto:eof 

 函数返回值

(1)最常用的做法是在函数中将该值保存在全局变量中,调用结束后,直接用该全局变量;参考如前面的函数传参,直接通过全局变量length返回长度结果

(2)通过引用返回值,调用者通过传递一个变量给函数来存储返回值

 set "aStr= SETLOCAL TEST" set "var1= return TEST" call:myGetFunc var1 echo var1 after : %var1% echo var1 aStr : %aStr% pause :myGetFunc - passing a variable by reference ::保证局部变量和全局变量不冲突;SETLOCAL命令能让处理器当做是局部变量 SETLOCAL set "aStr=reference" set "%~1=%aStr%" ENDLOCAL goto:eof 

  if判断

操作符(不区分大小写) 描述 全称
equ 等于 equal
neq 不等于 no equal
lss 小于 less than
leq 小于等于 leq less than or equal
gtr 大于 greater than
geq 大于等于 geq greater than or equal
@echo off set inputValue=23 ::比较表达式和()之间必须有空格 if %inputValue%==23 (echo %inputValue%等于23) if %inputValue% equ 23 (echo %inputValue%等-于23) if %inputValue% gtr 100 ( echo 大于100 ) else if %inputValue% gtr 10 ( echo 大于10 ) else if %inputValue% gtr 0 ( echo 大于0 ) pause

参本文的 《以下为批处理入门实操教程》的《条件判断结构》

 for循环

参本文的 《以下为批处理入门实操教程》的《循环结构》

set arr=1 2 3 4 5 6 for %%a in (%arr%) do ( echo %%a ) for /l %%x in (1,1,10) do ( echo 变量 x 的值是 %%x ) ::/f会默认以每一行来作为一个元素,会读出a.txt中的内容。 for /f %%i in (a.txt) do echo %%i 

字符串操作

字符串切片

@echo off chcp 65001 set string=abcdefghijklmnopqrstuvwxyz0 12  echo 截取前5个字符: echo %string:~0,5% echo 截取最后5个字符: echo %string:~-5% echo 截取第一个到倒数第6个字符: echo %string:~0,-5% echo 从第4个字符开始,截取5个字符: echo %string:~3,5% echo 从倒数第14个字符开始,截取5个字符: echo %string:~-14,5% echo 当前时间是:%time% 即 %time:~0,2%点%time:~3,2%分%time:~6,2%秒%time:~9,2%厘 pause

替换字符串

@echo off ::创建了一个变量VAR,它的值是“hello”。然后,使用“ell” 替换为 “ipp”。因此,脚本将输出 “hippo” set VAR=hello set VAR=%VAR:ell=ipp% echo %VAR%

字符串拼接

set string1=Hello set string2=World set combined1=%string1% %string2% set combined2=%string1%,%string2% set combined3=%string1%%string2% set combined4=aaa%string1%bbb%string2%ccc set "combined5=%string1%^&%string2%" echo %combined1% echo %combined2% echo %combined3% echo %combined4% echo %combined5%

字符串分割

  •  delims:告诉for每一行应该拿什么作为分隔符,默认的分隔符是空格和tab键
  • tokens:通过delims将每一行分为更小的元素时,由tokens来控制要取哪一个或哪几个

假如文件a.txt中有如下内容:

第1行第1列 第1行第2列 第1行第3列
第2行第1列 第2行第2列 第2行第3列
第3行第1列 第3行第2列 第3行第3列

【1】delims这个参数,=后面有一个空格,意思是再将每个元素以空格分割,默认是只取分割之后的第一个元素 

for /f "delims= " %%i in (a.txt) do echo %%i ::显示的结果是: ::第1行第1列 ::第2行第1列 ::第3行第1列

【2】想要每一行的第二列元素;如果要显示第三列,那就换成tokens=3

for /f "tokens=2 delims= " %%i in (a.txt) do echo %%i ::显示结果: ::第1行第2列 ::第2行第2列 ::第3行第2列 

【3】 如果要显示第二列和第三列,则换成tokens=2,3或tokens=2-3

for /f "tokens=2,3 delims= " %%i in (a.txt) do echo %%i %%j ::用%%i来替换第二列,用%%j来替换第三列 ::执行结果为: ::第1行第2列 第1行第3列 ::第2行第2列 第2行第3列 ::第3行第2列 第3行第3列

【4】skip就是要忽略文件的前多少行

for /f "skip=2 tokens=*" %%i in (a.txt) do echo %%i ::结果为: ::第3行第1列 第3行第2列 第3行第3列

【5】同一行字符串分割为多份

@echo off setlocal enabledelayedexpansion :: 定义要分割的字符串和分隔符 set input_string=a,b,c,d,e set separator=, :: 分割字符串,tokens=1,2,3,4,5对应分割出五份%%a,%%b,%%c,%%d,%%e for /F "tokens=1,2,3,4,5 delims=%separator%" %%a in ("%input_string%") do ( set part1=%%a set part2=%%b set part3=%%c set part4=%%d set part5=%%e ) :: 输出分割后的字符串 echo Part1: !part1! echo Part2: !part2! echo Part3: !part3! echo Part4: !part4! echo Part5: !part5! endlocal pause

扩充字符串

“扩充”意思就是对表示文件路径的字符串进行特殊的处理;

@echo off chcp 65001 echo 完全路径:%0 echo 去掉引号:%~0 echo 所在分区:%~d0 echo 所处路径:%~p0 echo 文件名:%~n0 echo 扩展名:%~x0 echo 文件属性:%~a0 echo 修改时间:%~t0 echo 文件大小:%~z0 pause

 批处理.bat脚本入门详细使用教程

更多功能参考本文:《cd /d %~dp0 命令解释》

find操作

find

find的基本操作是在文件中搜索字符串

find "111" test.txt ::管道符号第一个的输出做第二个条件输入 type test.txt|find "111"

 findstr

findstr 是find的扩展,功能更强大,格式:findstr 参数 字符串 路径\文件名

【1】在指定文本中查找指定字符串

findstr "hello" a.txt

【2】指定搜索不分大小写

findstr /i "Hello" a.txt

【3】显示要查找的字符具体在文本哪一行

findstr /n /i "hello" a.txt

【4】 查找包含了指定字符的文本

findstr /m /i "hello" *.txt

【5】查找以指定字符开始或结尾的文本行

findstr /b /i "hello" a.txt ::或者,这里的^可不是转义符,而是正则表达式中的“匹配行开始的位置 findstr /i "^hello" a.txt

 【6】如何查找以hello(忽略大小写)结尾的行?

findstr /e /i "hello" a.txt ::或者 findstr /e /i "hello$" a.tx

【7】查找与指定字符完全匹配的行

findstr /n /i "^hello$" a.txt ::或者 indstr /n /i /x "hello" a.txt

【8】查找不包含指定字符的行

findstr /vni "hello" a.txt

【9】如何查找当前目录及子目录下文件内容中包

findstr /imd:520;编程; ".*" "*.txt"

含某字符串的文件名?

findstr /ms “test” *.txt

【10】 用文本指定要查找的文件 And 用文本制定要查找的字符串

::string.txt这个文本中指定findstr要查找的字符串 findstr /ig:string.txt a.txt

【11】搜索一个完全匹配的句子

findstr /ic:"hello there" a.txt

【12】搜索一个完全匹配的词

findstr "far" a.txt ::只要求显示含有“far”这个单词的行 findstr "\<far\>" a.txt

 【13】指定要查找的目录:查找在520、编程目录中所有包含任意字符的txt文件

findstr /imd:520;编程; ".*" "*.txt"

【14】 统计字符,.*为正则表达式的内容,表示任意行,包含空行

findstr /o .* test.txt

【15】 以指定颜色显示文件名,cmd窗口:color /?查看颜色和文字大小

findstr /a:21 .* "test*"

常见命令

1、echo

打开或关闭回显功能,或显示消息;参本文的 《批处理bat实用案列》的《@echo和echo的区别》

2、rem

注释命令;参本文的 《基本语法》的《注释》

3、pause

运行 Pause 命令时,将显示cmd窗体的echo和运行的消息

4、call

(1)从一个批处理程序调用另一个批处理程序,并且不终止父批处理程序。

(2)调用函数

参考参本文的 《基本语法》的《函数》使用

5、start

调用外部程序,所有的DOS命令和命令行程序都可以由start命令来调用;

start notepad.exe 

6、goto

跳转命令。程序指针跳转到指定的标签,从标签后的第一条命令开始继续执行批处理程序;

参考参本文的 《基本语法》的《函数》使用

7、set

显示、设置或删除变量;《基本语法》的《变量》使用

8、find

在文件中搜索字符串,参考参本文的 《基本语法》的《find操作》使用

9.date和time

TIMEOUT /T 5
echo %date% echo %time%

 10.pushd 和 popd

cd /d d:\mp4 ::更改当前⽬录为 d:\mp4 pushd c:\mp3 ::保存当前⽬录,并切换当前⽬录为 c:\mp3 popd ::恢复当前⽬录为刚才保存的 d:\mp4 
rem 读取当前目录并进入当前目录 set "rootdir=%~dp0" pushd "%rootdir%" copy %rootdir%\111\test.txt %rootdir%\222

11.timeout

::倒计时5秒,cmd窗口关闭 TIMEOUT /T 5

12.clr清屏

13.type显示文件内容

type c:\boot.ini #显示指定文件的内容,程序文件一般会显示乱码 type *.txt #显示当前目录里所有.txt文件的内容 

常见符号

参本文的 《基本语法》的《运算》,了解部分符号具体用法

1、回显屏蔽 @

参考本文的《批处理bat实用案列》的《@echo和echo的区别》

2、重定向1 >;与>>

echo aaaaa>>a.txt

和echo aaaaa>a.txt的区别在于:

若a.txt已经存在时,>>会追加在a.txt文本中;若a.txt不存在时,两者没有区别。

3、重定向2 <

set /p ifo=<a.txt

echo 【 从文件a.txt获得的输入信息 】

echo %ifo%

4、管道符号 |

Syntax:command_1|command_2

将command_1的输出重定向为command_2的输入。

5、转义符 ^

将特殊符号转化为一般符号,即剥离特殊符号的特殊地位。特殊符号指:| & > <

比如,如果我们想输出符号“>;”,直接用命令 echo > 是不行的,必须修改为 echo ^>;。其余几个特殊符号类似需要有同样的处理

6、逻辑命令符

逻辑命令符包括:&、&&、||

&         :它的作用是用来连接n个DOS命令,并把这些命令按顺序执行,而不管是否有命令执行失败;

&&      :当&&;前面的命令成功执行时,执行&&;后面的命令,否则不执行;

||         :当||前面的命令失败时,执行||后面的命令,否则不执行。

文件网络系统类命令

文件目录

文件夹管理:

cd 显示当前目录名或改变当前目录。

md 创建目录。

rd 删除一个目录。

dir 显示目录中的文件和子目录列表。

tree 以图形显示驱动器或路径的文件夹结构。

path 为可执行文件显示或设置一个搜索路径。

copy 复制文件和目录树。

文件管理:

type 显示文本文件的内容。

copy 将一份或多份文件复制到另一个位置。

del 删除一个或数个文件。

move 移动文件并重命名文件和目录。(Windows XP Home Edition中没有)

ren 重命名文件。

replace 替换文件。

attrib 显示或更改文件属性。

find 搜索字符串。

fc 比较两个文件或两个文件集并显示它们之间的不同

参本文的 《以下为批处理入门实操教程》的《目录与文件命令》

网络命令

ping 进行网络连接测试、名称解析

ftp文件传输

net 网络命令集及用户管理

telnet远程登陆

ipconfig显示、修改TCP/IP设置

msg 给用户发送消息

arp 显示、修改局域网的IP地址-物理地址映射列表

参本文的 《以下为批处理入门实操教程》的《网络相关命令》

系统管理

at 安排在特定日期和时间运行命令和程序

shutdown立即或定时关机或重启

tskill 结束进程

taskkill结束进程(比tskill高级,但WinXPHome版中无该命令)

tasklist显示进程列表(Windows XP Home Edition中没有)

sc 系统服务设置与控制

reg 注册表控制台工具

powercfg控制系统上的电源设置

对于以上列出的所有命令,在cmd中输入命令+/?即可查看该命令的帮助信息。如find /?

参本文的 《以下为批处理入门实操教程》的《基本命令格式》

批处理相关知识

环境变量

什么是环境变量:

环境变量是操作系统中用于存储系统配置信息的一种机制;
它们是一组动态的值,可以影响操作系统和应用程序的行为。
环境变量通常包含一些重要的路径信息,例如可执行文件的路径、库文件的路径等。

为什么需要环境变量:

      比如你想在任意cmd窗口,输入armcc(对应armcc.exe工具),都能显示提示信息;那么就需要配置环境变量;否则cmd当前所在路径只能在armcc.exe所在路径输入armcc,才有提示信息!

方便访问可执行文件:通过将可执行文件的路径添加到环境变量中,我们可以在任何位置直接运行该可执行文件,而不需要指定完整的路径。
简化配置过程:某些应用程序或开发工具需要访问特定的库文件或配置文件。通过设置环境变量,我们可以避免在每次使用这些工具时手动指定路径。
提高系统的灵活性:通过使用环境变量,我们可以轻松地更改系统的配置,而不需要修改应用程序的代码。这使得系统更加灵活和可维护。

分类:

临时环境变量:在会话结束后将被清除;

用户环境变量:只对当前用户有效,相当于局部变量。

环境变量的设置:

【1】手动设置:1-> 新建 2->变量名 3->变量值,最后点击确定即可

批处理.bat脚本入门详细使用教程

【2】指令设置:回车之后,打开终端输入如下命令后按回车,环境变量已经保存到系统

setx MY_VAR2 “C:\MyFolder

批处理.bat脚本入门详细使用教程

创建系统变量:

批处理.bat脚本入门详细使用教程

ASCII码

在cmd窗口中我们可以通过任意一个字符的ASCII码来输入该字符,比如Ctrl+G、Ctrl+N等,字母a-z对应ASCII码的97-122。对于ASCII码大于26的字符,可以通过这个方法来输入:按住Alt键不松,通过小键盘输入ASCII码的十进制值,松开Alt键即可

ArcGIS中的批处理

解决中文乱码问题

REM 声明采用UTF-8编码

chcp 65001

批处理bat实用案例

@echo和echo的区别

 表示关闭命令回显功能,即命令执行时不在屏幕上输出命令本身,只输出命令的执行结果。

批处理.bat脚本入门详细使用教程

echo  在屏幕上输出命令本身,也输出命令的执行结果(在terminal上显示)

批处理.bat脚本入门详细使用教程

@echo off 的作用

如下,不带@echo off

批处理.bat脚本入门详细使用教程

如下,带@echo off,所有的执行的命令都不显示了,显示执行命令后的结果

批处理.bat脚本入门详细使用教程

cd /d %~dp0 命令解释

cd /d %~dp0的含义

有三个部分:

    1.cd – 这是更改目录命令。
    2./d – 这个开关让cd改变驱动器和目录。 没有它,你将不得不做cd %~d0 & cd %~p0 。
    3.%~dp0 – 这可以进一步分为三个部分:
        【1】%0 – 这表示批处理脚本的第零个参数。 它扩展到batch file本身的名称。
        【2】%~0 – 在那里解开扩展参数的双引号( ” )。
        【3】%dp0 – d和p有扩展的修饰符。 d强制添加一个驱动器号并添加完整path。

cd /d %~dp0的意思就是cd /d E:\test_path

其中:

~dp  :是变量扩充
d      :既是扩充到分区号 E:
p      :就是扩充到路径 \test_path
dp    :就是扩充到分区号路径 E:\test_path

通过实战进行解释:
1.通常情况下我们要进入其他盘符下的任意目录,需要在CMD窗口运行两次命令:
第一次,进入盘符,第二次进入指定目录
盘符切换:

批处理.bat脚本入门详细使用教程

从D:切换进入E:\test_path ,要使用两条命令:

e: cd test_path

批处理.bat脚本入门详细使用教程

 通过使用CD命令,并加入参数 /d ,可以通过一个步骤,直接进入指定盘符下的任意文件夹。

#一个步骤进入E盘下的test_path目录:

cd /d e:\test_path

批处理.bat脚本入门详细使用教程

由此可见cd /d %~dp0 的意思就是等价cd /d E:\test_path\

批处理.bat脚本入门详细使用教程

 更多语法介绍

选项语法:

 ~0 – 删除任何引号(“),扩充 %0

%~f0 – 将 %0 扩充到一个完全合格的路径名(“f”是file,即文件)

%~d0 – 仅将 %0 扩充到一个驱动器号

%~p0 – 仅将 %0 扩充到一个路径

%~n0 – 仅将 %0 扩充到一个文件名(“n”是name 文件名)

%~x0 – 仅将 %0 扩充到一个文件扩展名

%~s0 – 扩充的路径只含有短名(“s”为Short,短的)

%~a0 – 将 %0 扩充到文件的文件属性(“a”为attribute,即属性)

%~t0 – 将 %0 扩充到文件的日期/时间(“t”time)

%~z0 – 将 %0 扩充到文件的大小(Size 大小)

%~$PATH:0 – 查找列在路径环境变量的目录,并将 %0 扩充 到找到的第一个完全合格的名称。如果环境变量名 未被定义,或者没有找到文件,此组合键会扩充到 空字符串

可以组合修饰符来得到多重结果:

%~dp0 – 仅将 %0 扩充到一个驱动器号和路径

%~nx0 – 仅将 %0 扩充到一个文件名和扩展名

%~fs0 – 仅将 %0 扩充到一个带有短名的完整路径名

%~dp$PATH:0 – 查找列在路径环境变量的目录,并将 %I 扩充 到找到的第一个驱动器号和路径。

%~ftza0 – 将 %0 扩充到类似输出线路的

DIR%0为当前批处理文件

批处理文件名做参数

echo off rem setlocal enabledelayedexpansion ::%~n0用来表示批处理文件的名称 set param1=%~n0 ::%~nx0用来表示批处理的文件名加后缀 set param2=%~nx0 echo %param1% echo %param2% pause

运行结果

批处理.bat脚本入门详细使用教程

延时扩展命令使用

延时扩展命令为:

setlocal enabledelayedexpansion

参考《批处理中setlocal enabledelayedexpansion的作用详细整理》:批处理.bat脚本入门详细使用教程

 获取.h文件宏定义并截取字符

@echo off setlocal enabledelayedexpansion set "var1=#define CONFIG_ENABLE_" ::for里面的变量赋值要使用延时扩展符号!! for /f "delims=" %%i in (config.h) do ( set var=%%i set var_tmp=!var:~0,22! echo !var_tmp! if "!var_tmp!"=="%var1%" ( echo Variable is var1 set var2=!var:~22,26! goto for_end ) else ( echo Unknown variable ) ) :for_end echo "for_end" echo version:%var2% pause

批处理.bat脚本入门详细使用教程

 .bat中并行运行

TEST1.bat:

echo "Are you ready to continue...(Y/N)" set /p isReady= if "%isReady%" == "Y" ( echo "Ready to continue." ) else ( exit ) start for %%i in (2, 7, 12, 17) do start TEST2 %%i 28

TEST2.bat

@echo off echo parameter a is %1 echo parameter b is %2 pause 

 传参及批处理调用另一个批处理

将TEST1.bat中的值传到TEST2.bat中,并显示出来;参考如下实现

TEST1.bat:

set a=1 set b=2 set c=3 call TEST2.bat %a%,%b%,%c%

 TEST2.bat:

echo parameter a is %1 echo parameter b is %2 echo parameter c is %3 pause

类似的还有%1-%9,分别代表传递来的第1-9个参数;为cmd命令行模式传进来的参数

批处理.bat脚本入门详细使用教程

以下为批处理入门实操教程

第一条批处理命令

win+r进入cmd命令窗口,打开输入cmd:

批处理.bat脚本入门详细使用教程

批处理的运算

1.算术运算:/a表示设置算术运算

批处理.bat脚本入门详细使用教程

批处理.bat脚本入门详细使用教程

 优先级使用括号进行批处理.bat脚本入门详细使用教程

2.重定向操作

批处理.bat脚本入门详细使用教程

批处理.bat脚本入门详细使用教程

3.多名命令运算

批处理.bat脚本入门详细使用教程

批处理.bat脚本入门详细使用教程

批处理.bat脚本入门详细使用教程

4.管道符号

第一个命令A的输出当做第二个命令B的输入

批处理.bat脚本入门详细使用教程

批处理.bat脚本入门详细使用教程

批处理.bat脚本入门详细使用教程

批处理基本命令格式

1.基本命令格式

批处理.bat脚本入门详细使用教程

批处理.bat脚本入门详细使用教程

批处理.bat脚本入门详细使用教程

2.批处理文件接收参数

批处理.bat脚本入门详细使用教程

批处理.bat脚本入门详细使用教程

批处理.bat脚本入门详细使用教程

3.批处理注释 

使用rem进行注释

rem 这里的rem为注释符,下面的echo显示文字 echo “批处理使用rem注释" pause

 使用::进行注释

:: 这里的::为注释符,下面的echo显示文字 echo “批处理使用::注释" pause

 4.改变cmd窗口文字背景颜色和标题修改

批处理.bat脚本入门详细使用教程

0a表示黑色背景和淡绿色文字

批处理.bat脚本入门详细使用教程

5.查看日期和时间

批处理.bat脚本入门详细使用教程

批处理.bat脚本入门详细使用教程

6.start启动命令

批处理.bat脚本入门详细使用教程

批处理.bat脚本入门详细使用教程7.

8.任务列表和终止命令

批处理.bat脚本入门详细使用教程

批处理.bat脚本入门详细使用教程

批处理.bat脚本入门详细使用教程

9.文件夹结构命令tree

批处理.bat脚本入门详细使用教程

10.关机命令,计划任务命令at,环境变量设置

批处理.bat脚本入门详细使用教程

查看所有的系统环境变量的命令:在cmd中输入 set 回车。

目录和文件命令

批处理.bat脚本入门详细使用教程

1.目录浏览dir命令

批处理.bat脚本入门详细使用教程

 批处理.bat脚本入门详细使用教程

批处理.bat脚本入门详细使用教程

2.目录新建与删除

批处理.bat脚本入门详细使用教程

mkdir也可以缩写为md

批处理.bat脚本入门详细使用教程

 批处理.bat脚本入门详细使用教程

批处理.bat脚本入门详细使用教程

3.目录切换命令cd

批处理.bat脚本入门详细使用教程

. 是当前目录,..是指上级目录

批处理.bat脚本入门详细使用教程
4.目录重命名ren

批处理.bat脚本入门详细使用教程

批处理.bat脚本入门详细使用教程

5.目录拷贝命令copy

批处理.bat脚本入门详细使用教程

复制后进行删除操作

批处理.bat脚本入门详细使用教程

/b表示以二进制模式复制文件

copy /b text.bin+data.bin+data_code.bin+aec.bin+aac.bin app.bin

批处理.bat脚本入门详细使用教程

删除指定后缀的所有文件

批处理.bat脚本入门详细使用教程

批处理.bat脚本入门详细使用教程
7.文件剪切命令move

批处理.bat脚本入门详细使用教程

批处理.bat脚本入门详细使用教程

批处理.bat脚本入门详细使用教程

if条件判断结构

批处理.bat脚本入门详细使用教程

1.if-else结构

使用 pause>nul ,nul相当于空文件,即把这些文字隐去了。其作用与pause基本相同,同样是等待用户按键,区别在于不显示“请按任意键继续…..”

批处理.bat脚本入门详细使用教程

2.判断文件是否存在exists

批处理.bat脚本入门详细使用教程

3.文件判断删除

加括号即可换行

 批处理.bat脚本入门详细使用教程

for循环结构

批处理.bat脚本入门详细使用教程

基本格式: for %%i in (command1) do command2 

1.for、in 和 do是for语句的关键字,它们三个缺一不可;
2.在 in 之后,do 之前的括号”()”不能省略,do 后可以有括号,且括号内不能有注释
3.%%i 是for语句中对形式变量的引用;
4.for语句的形式变量I,可以换成26个字母中的任意一个,这些字母会区分大小写;
5.in和do之间的command1表示的字符串或变量可以是一个,也可以是多个,每一个字符串或变量,我们称之为一个元素,每个元素之间,用空格键、跳格键、逗号、分号或等号分隔;

6.参数说明:/d 仅为目录;/R递归;/L迭代数值范围;/f(F) 打印文件内容

1.循环遍历文件夹名称

批处理.bat脚本入门详细使用教程

2.遍历文件夹下的文件

批处理.bat脚本入门详细使用教程

3.遍历数字操作

批处理.bat脚本入门详细使用教程

4.遍历文件内容操作

::这个会显示a.txt里面的内容,因为/f的作用,会读出a.txt中 的内容;按每行进行遍历 for /f %%i in (a.txt) do echo %%i ::而这个只会显示a.txt这个名字,并不会读取其中的内容。 for %%i in (a.txt) do echo %%i ::在config.ini文件中寻找包含“=”字符的一行,将该行内容赋给%%i for /f "delims=" %%i in ('type "config.ini"^| find /i "="') do set %%i 

网络相关命令

批处理.bat脚本入门详细使用教程

编程实际案列

批处理.bat脚本入门详细使用教程

1.计算机信息展示

批处理.bat脚本入门详细使用教程

2.交互操作介绍

批处理.bat脚本入门详细使用教程

3.计划执行操作

通过at命令执行计划操作

批处理.bat脚本入门详细使用教程

4.Bat批处理脚本转Exe程序介绍

需要通过对应的工具bat才能转换为exe.

批处理.bat脚本入门详细使用教程

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/123210.html

(0)
上一篇 2024-11-19 17:00
下一篇 2024-11-19 17:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信