批處理備份文件夾和文件后發(fā)布文件夾至網(wǎng)站
更新時間:2013年02月01日 15:03:11 作者:
使用批處理備份文件夾和文件后再把備份的文件夾發(fā)布出去(例如:網(wǎng)站),對批處理感興趣的朋友可以參考下啊,或許對你學(xué)習(xí)批處理有所幫助
先將"C:\網(wǎng)站"下對應(yīng)"D:\工程1"下面的所有文件夾和文件備份到"D:\備份2012-9-1-52647",然后再把"D:\工程1"發(fā)布到"C:\網(wǎng)站"。
用法:
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%
::參數(shù)
set DestDir="C:\網(wǎng)站"
set BackDir="D:\備份%now%"
echo.
echo 正在備份
call:Backup %SourceDir% %DestDir% %BackDir%
echo.
echo 正在發(fā)布
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 備份復(fù)制失敗)
)
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
:: 發(fā)布
:Publish
set SourceDir=%1
set DestDir=%2
xcopy %SourceDir% %DestDir% /r /y /i /e
goto :eof
用法:
backupAndPublish.bat "D:\工程1"
復(fù)制代碼 代碼如下:
@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%
::參數(shù)
set DestDir="C:\網(wǎng)站"
set BackDir="D:\備份%now%"
echo.
echo 正在備份
call:Backup %SourceDir% %DestDir% %BackDir%
echo.
echo 正在發(fā)布
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 備份復(fù)制失敗)
)
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
:: 發(fā)布
:Publish
set SourceDir=%1
set DestDir=%2
xcopy %SourceDir% %DestDir% /r /y /i /e
goto :eof
您可能感興趣的文章:
- Tomcat網(wǎng)站發(fā)布配置方案詳細說明
- Web Deploy發(fā)布網(wǎng)站及常見問題解決方法(圖文)
- 安裝IIS發(fā)布我的第一個網(wǎng)站圖文教程
- MVC4 網(wǎng)站發(fā)布(整理+部分問題收集和解決方案)
- VS2010發(fā)布Web網(wǎng)站技術(shù)攻略
- ASP.NET網(wǎng)站的創(chuàng)建與發(fā)布過程簡析
- ASP.NE網(wǎng)站發(fā)布注意事項簡析
- 詳解VS2012發(fā)布網(wǎng)站步驟
- ASP.NET MVC3網(wǎng)站創(chuàng)建與發(fā)布(1)
- .NET發(fā)布網(wǎng)站詳細步驟
相關(guān)文章
非常好的for 教程, 當(dāng)時我就是看這個學(xué)習(xí)for 的
批處理for命令詳解 FOR這條命令基本上都被用來處理文本,但還有其他一些好用的功能! 看看他的基本格式(這里我引用的是批處理中的格式,直接在命令行只需要一個%號)2008-05-05windows下bat批處理執(zhí)行Mysql的sql語句
這篇文章主要介紹了windows下bat批處理執(zhí)行Mysql的sql語句,需要的朋友可以參考下2021-03-03斷開網(wǎng)絡(luò)聯(lián)結(jié)的bat文件
斷開網(wǎng)絡(luò)聯(lián)結(jié)的bat文件...2007-08-08