溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

批處理如何備份文件夾和文件后發(fā)布文件夾至網(wǎng)站

發(fā)布時(shí)間:2021-09-30 14:19:21 來源:億速云 閱讀:89 作者:小新 欄目:開發(fā)技術(shù)

小編給大家分享一下批處理如何備份文件夾和文件后發(fā)布文件夾至網(wǎng)站,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

先將"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
:: 計(jì)算源路徑長度
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

看完了這篇文章,相信你對“批處理如何備份文件夾和文件后發(fā)布文件夾至網(wǎng)站”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI