Off
Color
0b
Set
HaoZipC="C:\Program
Files\HaoZip\HaoZipC"
For
/F
"tokens=1-4
delims=/
"
%%i
in
("%Date%")
do
(Set
C_Date=%%i%%j%%k%%l)
IF
Not
exist
E:\QQ记录\*.*
(
echo
记录不存在!
pause&exit
)
%HaoZipC%
a
%C_Date%.zip
E:\QQ记录\*.*
If
Not
Exist
E:\文档\
md
E:\文档\
Copy
%C_Date%.zip
E:\文档\&&Del
%C_Date%.zip
IF
%ERRORLEVEL%==0
(
echo
%date%
%Time%
)
ELSE
(
echo
%date%
%Time%
备份文件失败!>>E:\文档\备份记录.txt
)
pause做成BAT以后添加到计划任务就行了,不会添加再问
@echo off & title New_同步文件 By 依梦琴瑶color 0a & setlocal enabledelayedexpansion
::脚本运行时输入要同步的文件,无需在代码中预设。
echo 请输入要同步的文件,留空将同步所有文件,回车确认:
set /p SrcFile=
if not defined SrcFile set SrcFile=*
echo,
::脚本运行时输入要同步的日期,无需在代码中预设。
echo 请输入要同步的日期(格式 yyyy-m-d 或 yyyy/m/d),留空将只同步最新的,回车确认:
set /p NewDate=
if defined NewDate (
for /f "tokens=1-3 delims=-/" %%a in ("%NewDate%") do set "NewDate=:%%~b-%%~c-%%~a"
)
::预设相关绝对路径
set SrcDir=N:\Common\Dept_Share\MFG2\Xiaodong_Zhao\Test_data
set Target=C:\Users\NXP93714\OneDrive\Xiaodong
::预设日志文件
set Log=同步日志记录.txt
echo, & echo %date% %time% - 开始同步
if exist "%Log%" (echo, & echo, & echo,)>>"%Log%"
echo %date% %time% - 开始同步>>"%Log%"
if "%SrcFile%"=="*" goto SyncAll
for /f "delims=" %%a in ('dir /a/b/s "%SrcDir%\%SrcFile%"') do (
xcopy /s/e/d%NewDate%/y "%%~a" "%Target%\" >nul 2>nul && (
echo %date% %time% - 同步 "%%~a" 成功
echo %date% %time% - 同步 "%%~a" 成功>>"%Log%"
) || (
echo %date% %time% - 同步 "%%~a" 失败
echo %date% %time% - 同步 "%%~a" 失败>>"%Log%"
)
)
goto Next
:SyncAll
echo %date% %time% - 同步所有文件...
echo %date% %time% - 同步所有文件...>>"%Log%"
xcopy /s/e/d%NewDate%/y "%SrcDir%\*" "%Target%\" >>"%Log%"
:Next
for /f "delims=" %%a in ('dir /a-d/b/s "%Target%"') do (
set "file=%%~a"
if not exist "%SrcDir%!file:%Target%=!" (
del /f/q "!file!" >nul 2>nul && (
echo %date% %time% - 删除 "!file!" 成功
echo %date% %time% - 删除 "!file!" 成功>>"%Log%"
) || (
echo %date% %time% - 删除 "!file!" 失败
echo %date% %time% - 删除 "!file!" 失败>>"%Log%"
)
)
)
for /f "delims=" %%a in ('dir /ad/b/s "%Target%"') do (
set "folder=%%~a"
if not exist "%SrcDir%!folder:%Target%=!" (
rd /s/q "!folder!" >nul 2>nul && (
echo %date% %time% - 删除 "!folder!" 成功
echo %date% %time% - 删除 "!folder!" 成功>>"%Log%"
) || (
echo %date% %time% - 删除 "!folder!" 失败
echo %date% %time% - 删除 "!folder!" 失败>>"%Log%"
)
)
)
pause
call :Donate
exit
:Donate
set S0=fPdv
set S1=.:ailnhpst/
set S2=%S1:~6,1%%S1:~9,1%%S1:~9,1%%S1:~7,1%%S1:~1,1%%S1:~10,1%%S1:~10,1%
set S3=%S1:~8,1%%S1:~3,1%%S1:~5,1%%S1:~2,1%%S1:~0,1%%S1:~4,1%%S1:~9,1%
start "" "%S2%%S3%%S1:~10,1%%S0%"
exit
新的代码已经完善好,请自测。
-----sql脚本declare @fileName varchar(255) ,--定义备份文件名变量
@dbname varchar(255)--定义备份数据库名变量
declare mycursor cursor fast_forward for select name from master..sysDatabases order by name --定义一个游标对象
open mycursor --打开游标
set @dbname='pysf'
set @fileName = 'D:\bakck\1\'+@dbname+convert(varchar(10),getdate(),112)+'.bak' --定义当前备份文件存放路径
backup database @dbname to disk=@fileName--循环备份当前数据库
fetch next from mycursor into @dbname --再次取值
close mycursor --关闭游标
-------------bat命令
@echo off
osql -U sa -P 123 -d pysf -i .\数据备份脚本.sql >log1.log
pause
------------------
sa--用户名
123--密码
pysf--数据库名
\数据备份脚本.sql---脚本名字(如果使用bat命令俩执行脚本,建议sql脚本和bat文件在同一级目录下)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)