赞
踩
①使用copy con 文件名
这样既可在黑窗口里面书写bat命令,然后写完后按ctrl+z结束编辑
②使用edit来创建(很古老已不用)
③使用记事本,改扩展名为bat(现在几乎都使用此方法)
①echo 要在屏幕上显示的信息
用法:echo off 关闭所有的命令显示;
echo on 允许批处理命令在执行过程中显示;
echo 我就是要在屏幕上显示的内容 会在屏幕上输出“我就是要在屏幕上显示的内容”。
②@ 表示此行的bat命令不在执行过程中显示
③pause 暂停当有键盘输入时向下执行
④call xxx.bat 调用xxx.bat并执行;
call :abc
:abc
echo 我是abc后面的命令,会执行我
⑤rem 注释 会忽略rem后面的内容
⑥set i=’c:\’ 设置变量i并赋值为“’c:\”
要调用i时 使用%i% 即可
Dir /w 以列表形式展示当前文件目录
⑦goto a 跳过中间的命令,直接去执行a命令
如:
@echo off
goto a
echo 我不执行
echo 我也不执行
echo 我们不执行
:a
dir c:\
以上语句只执行dir c:\
⑧start 重新启动一个单独的命令行窗口,然后执行指定的命令
例如:
Title新窗口标题 dpath要执行的路径 min最小化窗口 max最大化窗口 wait等待新窗口命令执行完
⑨if 判断语句 if xxx else xxx
例如:
/i 表示忽略大小写
⑩type显示某个文件的内容
如:type a.txt
11.for循环语句
例如:
/a表示数字类型
for %%i in (判断条件)do(循环体)
i为变量 in是判断是否存在
12.setlocal和endlocal设置环境变量(局部环境变量)
13.shift设置批处理从第n个参数移位
格式:shift [n] n的范围为0-8
例:
14.通配符
15.重定向“<”,“>”,“>>
“<”把右边的内容替换到左边
“>” 把左边的内容替换到右边
“>>” 把左边的内容追加到右边
Sort排序后显示
例:
16.“|”管道符:
①批量更改文件名
例:
Ren 更改名字
更改编号为1-99的文件名
/l 表示在指定的范围内循环
自动循环某个程序
errorlevel表示的是环境变量,如果网络ping不通则errorleve一定不为0
goto表示直接跳到某位置执行
>nul 表示将ping的结果存储到某个随机内存
打开当前运行的程序的完整路径:
%0表示当前运行的批处理程序的名字
%~dp0表示指定的变量扩展到路径
~dp0表示某个程序指定的路径
将文件名更改为当前系统日期
%1表示测试输入的文件是否存在
~x表示变量的扩展名,%~x1表示%1的扩展名
/f使用文件解析过程处理字符串等
Data/t表示系统当前时间,如2019-03-18
使用批处理自动接收用户信息
/p代表用户输入的数值以字符串处理
/t表示只显示当前的日期,而不输入
Time/t 显示当前的时间而不输入
计算当前目录及子目录所占的磁盘空间
/f表示以解析方式工作
删除当前目录的所有空文件夹及空子目录
在文件夹上面添加“在cmd中打开文件夹”
Pushd 切换到某个盘符下面
给某文件创建快捷方式
自动替换文件中指定的字符串
在文件的前面添加当前的日期及时间
定制xp个性化登录
让xp正常关闭系统
修复boot.int文件,xp系统
定制“开始”菜单内容
常用命令解析
:表示一种标记 会被goto语句识别执行
::表是的是一个注释,不显示不执行
表示没有了“请按任意键继续”
Title 表示命令行窗口的名称,title一般放在第一行
Color 设置控制台输出程序,由两个十六进制数表示颜色,第一个表示背景色,第二个表示前景色
Mode 设置串口:以下是设置cmd窗口
Goto和:123nm 表示跳转程序
Type显示文件内容,find查找文件内容
Start 调用外部程序在新窗口执行
在另外窗口打开d盘
显示txt文件是关联到哪个程序的
把txt文件关联到word程序
Ftype exe=%1 %* 修改exe程序的属性为其他的(此命令不要乱用)
Pushd进入某个目录
Popd返回保存的文件夹
调用自己
变量延迟:读取的时候再赋值
修改当前系统日期
^表示转意符
^也可以续行
组合命令:把多个命令当成一个命令执行,前面出错不影响后面的执行
组合命令,前面出错后面就不执行
前面的命令错误才执行后面的,后面的对了就不执行它后面的
优先级由高到低:
,可以当作空格使用
“”可以包含空格
;表示当命令相同时可以使用;来链接不同的参数,都会去执行
!用来表示变量
For语句的基本用法
%%i表示变量
Command1是for里面的第一个参数,可以是一个或多个,称为元素
把Command1赋值给%%i,然后执行Command2,直到所有的元素都执行一遍结束循环
例子:
输出:
例子1:列出当前磁盘空间的所有盘符
例子2:显示当前目录的所有文件
例子3:
For循环参数
/f 文件解析,读文件,一次读一行,例如:
切分字符串,字符串后面的都不要,只要前面的
Tokens开关
以上是以“,”分割字符串,然后读取第三节字符串
读取多节字符串如下:
简写如下:
忽略前两行,从第三行开始读,代码如下:
忽略逗号开头的行
增强解决中文空格等,代码如下:
未增强的:
变量延迟:产生原因是在复合语句中把一条语句加入内存中后然后赋值,在复合语句中赋了值的变量是不改变的,要解决此问题,需要写上setlocal enabledelayedexpansion,启用本地延迟扩展;使用变量延迟时,引用变量时需要使用!!,而不是%%
使用call也能解决变量延迟
For循环的/r参数
R表示的是遍历
遍历目录的两种方式,第一种效率高
遍历文件夹
匹配当前目录或指定目录的文件夹,/d表示匹配的意思
循环计数器/I,循环次数取决于括号里面的值
X表示开始,y表示步长,z表示终止值
For语句的变量
把空格替换为空
把点替换成猎豹网校
截取字符串,结果为ww
结果为.net.cn
执行命令成功。Errorlevel的值为0
以下语句表示Errorlevel大于等于0执行echo后面的命令
If语句:
比较字符相等以及文件是否存在
解决空格问题
批量ping脚本:
@echo off
for /f "tokens=*" %%i in (目标地址.txt) do (
ping %%i >> ping结果.txt
echo ........................................................ >> ping结果.txt
echo ........................................................ >> ping结果.txt
echo ........................................................ >> ping结果.txt
)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。