批处理备份文件夹和文件后发布文件夹至网站
作者 佚名
来源 批处理
浏览
发布时间 2013-07-09
先将"C:\网站"下对应"D:\工程1"下面的所有文件夹和文件备份到"D:\备份2012-9-1-52647",然后再把"D:\工程1"发布到"C:\网站"。 用法: backupAndPublish.bat "D:\工程1" 复制代码 代码如下: @echo off set SourceDir=%1 set now=%date:~0,4%-%date:~5,2%-%date:~8,2%-%time:~0,2%%time:~3,2%%time:~6,2% ::参数 set DestDir="C:\网站" set BackDir="D:\备份%now%" echo. echo 正在备份 call:Backup %SourceDir% %DestDir% %BackDir% echo. echo 正在发布 call:Publish %SourceDir% %DestDir% goto :eof :: 主程序 :Backup setlocal enabledelayedexpansion set SourceDir=%~1 set DestDir=%~2 set BackDir=%~3 :: 计算源路径长度 set SourceDirLen=0 set SourceDirStr=%SourceDir% :next1 if not "%SourceDirStr%"=="" ( set /a SourceDirLen+=1 set "SourceDirStr=%SourceDirStr:~1%" goto :next1 ) :: 备份 for /r "%SourceDir%" %%i in (*.*) do ( set BackPath=%%~dpi set BackPath=%BackDir%!BackPath:~%SourceDirLen%! set DestPath=%%i set DestPath=%DestDir%!DestPath:~%SourceDirLen%! set BackFilePath=%%i set BackFilePath=%BackDir%!BackFilePath:~%SourceDirLen%! echo !DestPath! xcopy "!DestPath!" "!BackPath!" /r /y >nul 2>nul if not exist "!BackFilePath!" (echo 备份复制失败) ) for /r "%SourceDir%" %%i in (\) do ( set SourcePath=%%i set SourcePath=!SourcePath:~0,-1! set BackPath=%BackDir%!SourcePath:~%SourceDirLen%! md "!BackPath!" >nul 2>nul ) setlocal disabledelayedexpansion goto :eof :: 发布 :Publish set SourceDir=%1 set DestDir=%2 xcopy %SourceDir% %DestDir% /r /y /i /e goto :eof |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 判断分区格式的bat代码下一篇: cmd批处理常用符号详解
关于批处理备份文件夹和文件后发布文件夹至网站的所有评论