手机
当前位置:查字典教程网 >脚本专栏 >DOS/BAT >批处理备份文件夹和文件后发布文件夹至网站
批处理备份文件夹和文件后发布文件夹至网站
摘要:先将"C:网站"下对应"D:工程1"下面的所有文件夹和文件备份到"D:备份2012-9-1-52647",然后再把"D:工程1"发布到"C:...

先将"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

【批处理备份文件夹和文件后发布文件夹至网站】相关文章:

批处理重命名特殊文件名的代码

bat如何延时删除指定文件夹中的文件

批处理修改本地域名解析

用批处理重命名文本文件名的代码

批处理FOR 中的Delims和Tokens总结

批处理文件制作实例精彩教程第1/5页

批处理文件(bat文件)注册dll批量注册dll

用批处理实现文件备份器V2.3

Append打开指定文件夹中的数据文件就象这些文件在当前文件夹中一样

Windows批处理双击切换IP地址方便、快捷

精品推荐
分类导航