首页 新闻 会员 周边

大佬们帮我看一下这个.bat文件,哪里有问题,可以备份,但是在F盘创建的文件夹里面没东西,也不进行压缩

0
悬赏园豆:30 [已解决问题] 解决于 2019-01-10 16:10

@echo off
::Date:2018-11-20
echo.
echo MySQL数据库备份脚本
echo
echo Date:2018-11-20
echo 备份日期:%date%
echo 备份时间:%time%
echo.
echo
set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"
set bakdir="D:\Mysql\mysql-5.7.24-winx64\data"
set sqlcache="D:\mysqlcache"
echo 正在进入MySQL目录
echo 正在备份Mysql数据,请稍等......
if not exist "%sqlcache%" mkdir "%sqlcache%"
for /F %%a in ('dir /ad /b %bakdir%') do (
if not exist "%sqlcache%%%a" mkdir "%sqlcache%%%a"
xcopy "D:\Mysql\mysql-5.7.24-winx64\data%%a" "D:\mysqlcache%%a" /s /E /y >nul
)
if not exist "F:\mysqlbak%Ymd%" mkdir "F:\mysqlbak%Ymd%"
for /f"usebackq tokens=1 delims= /%%a" in (dir /b %sqlcache%)do "D:\WinRar\WinRAR.exe" a -ep1 -r0 -df -exit -- "F:\mysqlbak%Ymd%%%a.rar" %sqlcache%%%a
echo 数据库备份完成......
echo.

丽丽圈养的老王的主页 丽丽圈养的老王 | 初学一级 | 园豆:8
提问于:2019-01-04 14:58
< >
分享
最佳答案
0

你这个都找不到文件夹怎么给你复制呢,还有复制为什么要用循环呢?一次性直接复制过去不就可以了吗
xcopy "D:\Mysql\mysql-5.7.24-winx64\data%%a" "D:\mysqlcache%%a" /s /E /y >nul

你有D:\Mysql\mysql-5.7.24-winx64\data%%a 这个文件夹吗,应该是D:\Mysql\mysql-5.7.24-winx64\data\%%a 这个才对呀!

收获园豆:30
xiaobaiskill | 小虾三级 |园豆:1087 | 2019-01-04 18:00

这上边复制错了,路径是对的,文件夹也是有的

丽丽圈养的老王 | 园豆:8 (初学一级) | 2019-01-10 15:43

@丽丽圈养的老王: 其实你可以直接复制过去的,感觉没必要使用循环,一个文件夹一个文件夹的复制

xiaobaiskill | 园豆:1087 (小虾三级) | 2019-01-10 15:52

@xiaobaiskill: 你上次给我回复了一个方法,我到现在都找不到创建的那个文件夹在哪
mkdir data_copy // 创建文件夹data_copy
xcopy data data_copy /E // 复制data 下所有的文件至data_copy
rar a -r -ep1 "data_copy.rar" "data_copy"
就是这串命令,你能告诉我这个data_copy创建到哪里去了吗?默认是在哪里?C盘?

丽丽圈养的老王 | 园豆:8 (初学一级) | 2019-01-10 15:54

@丽丽圈养的老王:
cd /d D:/www // 进入D盘的www目录
mkdir test // 创建 test 文件夹 。这个test 文件夹就在 D:/www/test

xiaobaiskill | 园豆:1087 (小虾三级) | 2019-01-10 16:00

bat 批处理文件,就相当于将你敲的一系列命令都放到一个文件里面一次性执行了而已。

xiaobaiskill | 园豆:1087 (小虾三级) | 2019-01-10 16:08
其他回答(1)
0

不懂啊,不过我有个建议,你可以这些代码一行一行单独拿出来执行,这样就知道哪句话没起作用了,然后再想办法,应该会有错误提示吧

会长 | 园豆:12401 (专家六级) | 2019-01-04 17:06
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册