1.打开mysql的日志保存目录地址,如D:\phpstudy_pro\Extensions\MySQL8.0.12\data
2.新建copy_log.txt文件,在文件中写入
@echo off
:: 存放的盘符
set Pan=d:\
:: 存放的目录
set MysqlBf=mysqlbf\
:: 获取当前日期(年月日)
set CURRENT_DATE_STRING=%date:~0,4%%date:~5,2%%date:~8,2%
:: 检测当前盘符是否存在
if exist %Pan% (
echo %Pan% is success
:: 判断d:/mysqlbf目录不存在创建
if not exist %MysqlBf% md %Pan%%MysqlBf%
if not exist %CURRENT_DATE_STRING% md %Pan%%MysqlBf%%CURRENT_DATE_STRING%
:: 将数据mysql日志保存到改目录中
for /r %%a in (binlog.*) do copy %%a %Pan%%MysqlBf%%CURRENT_DATE_STRING%
) else (
echo !!
echo !!%Pan% does not exist
echo !!
)
pause
参考1:https://blog.csdn.net/u012178002/article/details/111827280
@echo off
for /r %%a in (binlog.*) do copy %%a D:\1
pause
(1)for /r主要用于搜索指定路径及其所有子目录中符合要求的文件(/r后如果没有指定目录,则使用当前目录)
(2)上述例子实现将脚本所在目录下后缀为txt的文件复制到目录D:\1中
(3)批处理当中的 for 循环的结构:for in do。%%a 为变量,/r 为递归方式,in 与 do 之间一定要有 ()。
(4)for 循环的工作流程:查找当前文件夹及其子文件夹里面的 txt 文件,找到后把文件路径赋值给变量 %%a,然后执行 do 后面的语句,直到遍历完全部文件。
判断文件夹是否存在,若不存在就创建一个
如判断 folder 文件夹是否存在,bat脚本如下:
@echo on
@title 批处理判断文件夹是否存在
if exist folder (
echo "文件存在"
) else (
::创建文件夹
md folder
)
timeout /nobreak /t 100 >nul
或者:
@echo on
if not exist folder md folder
timeout /nobreak /t 100 >nul
参考3:bat命令获取当前时间日期
:: 关闭终端回显
@echo off
set CURRENT_DATE_STRING=%date:~0,4%%date:~5,2%%date:~8,2%
echo CURRENT_DATE_STRING=%CURRENT_DATE_STRING%
set CURRENT_TIME_STRING=%time:~0,2%_%time:~3,2%_%time:~6,2%
echo CURRENT_TIME_STRING=%CURRENT_TIME_STRING%
set CURRENT_DATE_TIME_STRING=%CURRENT_DATE_STRING%_%CURRENT_TIME_STRING%
echo CURRENT_DATE_TIME_STRING=%CURRENT_DATE_TIME_STRING%
:: 创建文件夹
md %CURRENT_DATE_TIME_STRING%
pause