执行完后暂停,显示“请按任意键继续. . .”,按任意键继续。
例:
pause
=====
C:\bat>pause
请按任意键继续. . .
注释。不会在运行的时候显示出来。
例:
::使用rem或者双冒号注释
pause
=====
C:\bat>pause
请按任意键继续. . .
显示命令后面的字符串,可以多个。
例:
echo yigeqiaodaimadetuzi
pause
=====
C:\bat>echo yigeqiaodaimadetuzi
yigeqiaodaimadetuzi
C:\bat>pause
请按任意键继续. . .
不显示后面的命令(不包括本行),但显示结果。
例:
echo off
echo buxianshi
pause
=====
C:\bat>echo off
buxianshi
请按任意键继续. . .
显示文件内容。
例:
@echo off
type b.txt
pause
::b.txt的内容为
::hello, world!
=====
hello, world!请按任意键继续. . .
不显示这一行命令,但显示结果。
例:
@echo off
echo buxianshi
pause
=====
buxianshi
请按任意键继续. . .
调用其他的bat文件。
例:
::a.bat内容如下
call b.bat
pause
::b.bat内容如下
::echo yige
=====
C:\bat>call b.bat
C:\bat>echo yige
yige
C:\bat>pause
请按任意键继续. . .
%0 是命令本身,%1是第一个参数,最多到%9
例:
::b.bat中内容为
@echo off
type %1
pause
运行
.\b b.txt
此时%0 为 type,%1为 b.txt。显示txt内容。
if [变量] == [条件] [命令]
变量和条件都要用""引起来。
例:
@echo off
if "%1" == "1" type %2
pause
===
PS C:\bat> .\b 1 b.txt
hello, world!请按任意键继续. . .
if not [变量] == [条件] [命令]
变量和条件都要用""引起来。
例:
@echo off
if "%1" == "1" type %2
pause
===
PS C:\bat> .\b 2 b.txt
hello, world!请按任意键继续. . .
if "%%~zf" leq "100000" (
echo %%f
echo %%~zf
)
===
IMG_20191002_112739.png
115372
跳转到指定标记的语句。
使用:label来标记语句。
例:
@echo off
goto shentianyongmei
:cangjinkong
echo wo ai cangjin kong
:shentianyongmei
echo wo ai shentian yongmei
pause
===
wo ai shentian yongmei
请按任意键继续. . .
对每个文件执行特定命令。
for [变量] in (集合满足的条件) do [对满足条件的变量执行的命令]
[变量]只能用一个字母表示,比如%%i, 而不能是%%iii.
例:
@echo off
for %%c in (*.bat) do type %%c
pause
===
::a.bat的内容
call b.bat
pause
::b.bat的内容
@echo off
for %%c in (*.bat) do type %%c
pause
请按任意键继续. . .
可以使用变量扩展来显示变量的不同性质,如文件的大小。
for %%v in (*.png) do (
echo %%~zv
)
该工具允许用户从选择列表选择一个项目并返回所选项目的索引(变量名为%errorlevel%)。
@echo off
choice /c ync /m "y yes, n no, c cancel"
if %errorlevel%==1 echo yes
if %errorlevel%==2 echo no
if %errorlevel%==3 echo cancel
pause
===
y yes, n no, c cancel [Y,N,C]?
:按y
"yes"
接受上一个命令的错误等级。choice返回123,即选项列表索引;
if %errorlevel%==1 echo yes
等价于
if errorlevel 1 echo yes
判断文件存在。
if exist b.bat echo "b.bat exist."
===
"b.bat exist."
磁盘格式化,我就不作死试验了。
复制的文件中不能有子目录,不能重命名。
能合并两个文件。
@ echo off
copy a.bat+b.bat d:\
pause
===
a.bat
b.bat
已复制 1 个文件。
请按任意键继续. . .
复制的文件中能有子目录,不能重命名。
不能合并两个文件。
xcopy c:\bat\a.bat d:\
===
C:\bat\a.bat
复制了 1 个文件
sucess
请按任意键继续. . .
显示当前目录所有文件详细信息。
可以使用通配符匹配特定类型文件。
dir *.bat
===
目录: C:\bat
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2021/9/12 23:30 19 a.bat
-a---- 2021/9/13 1:12 43 b.bat
只用于软盘
只用于软盘
赋值
@echo off
set var=100
echo %var%
pause
===
100
请按任意键继续. . .
打开cmd并执行代码
start cmd /k “cd/d E:\工作目录\2017工作目录\NewUnityProject1 &&scene.exe -batchmode &&taskkill /f /t /im cmd.exe”
更改批处理文件中可替换参数的位置.
shift /0
echo %1
===
::.\b 1 2 3
2 3
同下。
找到文件中字符串所在的行并打印出来
findstr hello b.txt
===
hello, world!
清空目标文件并将内容重定向到目标文件中。
echo /? > b.txt
===
:: b.txt中内容如下
显示消息,或者启用或关闭命令回显。
ECHO [ON | OFF]
ECHO [message]
若要显示当前回显设置,请键入不带参数的 ECHO。
追加内容到文件末尾。
echo /? > b.txt
===
:: b.txt中内容如下
显示消息,或者启用或关闭命令回显。
ECHO [ON | OFF]
ECHO [message]
若要显示当前回显设置,请键入不带参数的 ECHO。
FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] "string" [[drive:][path]filename[ ...]]
/V 显示所有未包含指定字符串的行。
/C 仅显示包含字符串的行数。
/N 显示行号。
/I 搜索字符串时忽略大小写。
/OFF[LINE] 不要跳过具有脱机属性集的文件。
"string" 指定要搜索的文本字符串。
[drive:][path]filename
指定要搜索的文件。
如果没有指定路径,FIND 将搜索在提示符处键入
的文本或者由另一命令产生的文本。
类似于转义符,将<、>和&的原本含义去掉,只是普通字符。
新的分隔符,代替“ ”(空格)
命令相同的不同目标分离。
将前一个命令的结果输出到后面一条命令。
顺序执行多条命令,前面一条成功则不执行下一条。
顺序执行多条命令,不论是否成功。
顺序执行多条命令,前面一条出错则不执行下一条。
行注释字符的结尾,只有一个。
跳过的行数。
分隔符集,替换空格和tab键,指定新的分隔符。
创建一个文件夹。
md test
md "test"
md "C:\Users\xxx\test"
===
以上三种方式都可以
切换工作区。
cd /d c:\user\xxx
cd /d g:/temp/photo/
cd /d "D:/temp/"
===
必须使用/来添加扩展选项,在不同卷标之间来回切换必须使用/d,
\和/来引导文件目录都可以,最后一个/\有没有都可以。
否则会提示“文件名、目录名或卷标语法不正确。”
卷标大小写都可以
文件路径没有空格可以不加""
cd \user
===
同一目录下使用cd \user 即可回到父目录。
删除文件夹,remove directory。
设定批处理所在的目录为工作目录。
删除用pushd创建的文件夹。
启动应用。默认以命令行启动,若要以和用户双击同样的效果启动,需要加""
start \max "" "C:\Program Files\Google\Chrome\Application\chrome.exe"
===
可以看到打开了chrome
给cmd窗口取一个标题。
设置控制台的颜色。背景颜色+字体颜色
0 = 黑色 8 = 灰色
1 = 蓝色 9 = 淡蓝色
2 = 绿色 A = 淡绿色
3 = 湖蓝色 B = 淡浅绿色
4 = 红色 C = 淡红色
5 = 紫色 D = 淡紫色
6 = 黄色 E = 淡黄色
7 = 白色 F = 亮白色
清屏。
查看ip地址。
重命名
ren old.txt new.txt
net user username password
/add
/del
net share
net start/stop
net use
删除文件
关闭进程,可以通过进程名称、id等关闭
访问一个网址。
显示当前磁盘名称和序列号
也被称为Windows路由跟踪实用程序,在命令提示符(cmd)中使用tracert命令可以用于确定IP数据包访问目标时所选择的路径。
移动文件(夹)或者重命名
file compare 找到两个文件不同的地方并打印
指定特定时间执行的命令。
链接并登录一网址
telnet 192.168.0.100
打开网址、文件夹、文件等。
ftp -s 打开ftp命令文件。
路由器相关操作
扫描ip地址段
显示或者更改文件属性。
显示日期
显示时间
提示符,对用户即将进行的操作进行解释
打印数组,返回序号
检查windows 版本
替换字符串
显示目录结构。
逐屏显示文件内容。
设置别名,类似于alias
检查硬盘状态。
修改文件访问权限。
netsh(Network Shell)是一个windows系统本身提供的功能强大的网络配置命令行工具,可用来修改windows的ip,网关,dns,防火墙等信息.
重启iis
查看当前路径
上传单个文件
下载单个文件
上传多个文件
下载多个文件
进入父目录。
删除文件夹,非空会报错。
/LIST、/L 列出所有电源方案。
/QUERY、/Q 显示电源方案的内容。
/CHANGE、/X 修改当前电源方案中的设置值。
/CHANGENAME GUID new_name 修改电源方案的名称和描述。
/DUPLICATESCHEME 复制电源方案。
/DELETE, /D 删除电源方案。
/DELETESETTING 删除电源设置。
/SETACTIVE, /S 使系统上的电源方案处于活动状态。
/GETACTIVESCHEME 检索当前活动的电源方案。
/SETACVALUEINDEX 如果系统使用交流电源供电,则设置与电源设置相关联的值。
/SETDCVALUEINDEX 如果系统使用直流电源供电,则设置与电源设置相关联的值。
/IMPORT 从文件中导入所有电源设置。
/EXPORT 将电源方案导出到文件。
/ALIASES 显示所有别名及其相应的 GUID。
/GETSECURITYDESCRIPTO 获取与指定的电源设置、电源方案或操作相关联的安全描述符。
/SETSECURITYDESCRIPTOR 设置与电源设置、电源方案或操作相关联的安全描述符。
/HIBERNATE、/H 启用或禁用休眠功能。
/AVAILABLESLEEPSTATES、/A 报告系统上可用的睡眠状态。
/DEVICEQUERY 返回符合指定条件的设备列表。
/DEVICEENABLEWAKE 使设备从睡眠状态唤醒系统。
/DEVICEDISABLEWAKE 禁止设备从任何睡眠状态唤醒系统。
/LASTWAKE 报告有关从上次睡眠转换中唤醒系统的信息。
/WAKETIMERS 枚举活动的唤醒计时器。
/REQUESTS 枚举应用程序和驱动程序的电源请求。
/REQUESTSOVERRIDE 为特定进程、服务或驱动程序设置电源请求替代。
/ENERGY 分析系统中常见的能量效率和电池使用时间问题。
/BATTERYREPORT 生成电池使用情况的报告。
/SLEEPSTUDY 生成系统电源转换的诊断报告。
/SRUMUTIL 从系统资源使用状况监视器(SRUM)转储能量估算数据。
/SYSTEMSLEEPDIAGNOSTICS 生成系统睡眠转换的诊断报告。
/SYSTEMPOWERREPORT 生成系统电源转换的诊断报告。
/POWERTHROTTLING 为应用程序控制电源节流。
改变当前本地主机的工作目录,如果缺省,就转到当前用户的HOME目录
切换路径
EQU - 等于
NEQ - 不等于
LSS - 小于
LEQ - 小于或等于
GTR - 大于
GEQ - 大于或等于
截取
set str=abcdefghijklmnopqrstuvwxyz
echo %str% 原始字符串
echo %str:~0,3% 前三个字符
echo %str:~-3% 最后三个字符
echo %str:~0,-3%第一个到倒数第四个字符
echo %str:~3,5%从第四个开始的后面五个字符
合并
set s1=aabbcc
set s2=ddeeff
echo %s1%%s2%
字符串变数字
set i=1
set /a i+=1
===
2
如果没有/a,结果是i+1
(1,2,3)
(*.jpg)
for %%L in (*.jpg) do (
echo %%L
)
===
IMG_20190928_102353.png
IMG_20191002_112739.png
IMG_20191106_163142.png
img_tupian.png
可以对%%L使用拓展命令,
~i - 删除任何引号("),扩充 %i
%~fi - 将 %i 扩充到一个完全合格的路径名
%~di - 仅将 %i 扩充到一个驱动器号
%~pi - 仅将 %i 扩充到一个路径
%~ni - 仅将 %i 扩充到一个文件名
%~xi - 仅将 %i 扩充到一个文件扩展名
%~si - 扩充的路径只含有短名
%~ai - 将 %i 扩充到文件的文件属性
%~ti - 将 %i 扩充到文件的日期/时间
%~zi - 将 %i 扩充到文件的大小
%~$PATH:i - 查找列在路径环境变量的目录,并将 %i 扩充
可以多个组合,例如
%~dpi - 仅将 %i 扩充到一个驱动器号和路径