一、基本语法
1、常用命令
1)、echo
a)、控制回显
格式:echo [{ on|off }]
- 关闭当前命令回显:@echo "当前命令回显已经被关闭"
- 关闭之后所有命令回显:echo off
- 使能之后所有命令回显:echo on
- 关闭回显并不显示当前命令的回显:@echo off
b)、打印提示信息
格式:echo string
打印字符串string,string可以是一个字符也可以是任意字符串,如果该字符串包含有特殊字符如空格,那么需要用双引号修饰
c)、输出变量内容
格式:echo %var%
打印变量var的值,注意变量延迟机制
2)、TIMEOUT延时等待
格式:TIMEOUT [/T] timeout [/NOBREAK]
- 等待10秒:TIMEOUT /T 10
3)、pause暂停挂起
pause命令将在cmd窗口中挂起,如下图
4)、rem注释
5)、exit退出窗口
2、自定义变量
二、批处理实践
1、遍历视频文件进行裁剪
rem 关闭回显
@echo off
rem 开启变量延迟
setlocal enabledelayedexpansion
rem 遍历当前目录的视频文件
for %%f in (*.mp4 *.wmv *.mov *.mkv *.avi *.rmvb *.flv *.m2ts) do (
echo %%f
rem 选择确定是否当前文件
choice /c YN /m "ary you sure?"
rem 选择按的Y
if !errorlevel! == 1 (
rem 保存当前选择文件名
set fileName=%%f
goto ffmpegCut
)
)
rem 挂起窗口
pause
exit
rem 视频裁剪标签
:ffmpegCut
rem 拼接选中文件和输出文件的绝对路径
set outPath=%~dp0FFMPEG_%fileName%
set srcPath=%~dp0%fileName%
echo %srcPath%
echo %outPath%
rem 等待10秒
TIMEOUT /T 10
rem 输入ffmpeg裁剪的参数
set /p startTime="请输入开始时间"
set /p stopTime="请输入结束时间"
rem 通过ffmpeg进行裁剪
ffmpeg -i %srcPath% -ss %startTime% -c copy -t %stopTime% %outPath%
exit
2、遍历视频文件进行重命名
3、遍历压缩文件进行解压
在windos上面要对zip进行解压,可以使用tar -xf命令,但是如果解压的zip设置了密码的就得必须使用7z或者unzip了。
这里介绍一下7z工具包,需要先安装7z并添加环境变量,即可使用7z命令。7z工具包可以在7-Zip
官网进行下载。
@echo off setlocal enabledelayedexpansion
set "password=av783661"
for %%F in (*.zip) do (
rem -Y表示弹出选择框默认选择Y
7z x "%%F" -p%password% -Y
)
pause
for %%F in (*.tar) do (
tar -xf %%F
)
pause