您好,登录后才能下订单哦!
小编给大家分享一下批处理如何备份文件夹和文件后发布文件夹至网站,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
															先将"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 
看完了这篇文章,相信你对“批处理如何备份文件夹和文件后发布文件夹至网站”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。