文件備份替換更新批處理


 @ECHO OFF 
 COLOR 17
set currPath=%~dp0
set parentPath=
set updateDir=%~dp0
:begin

FOR /F "tokens=1,* delims=\" %%i IN ("%currPath%")  DO (set front=%%i)

FOR /F "tokens=1,* delims=\" %%i IN ("%currPath%")  DO (set currPath=%%j)

if not "%parentPath%" == "" goto gotJpdaOpts


:gotJpdaOpts


if "%parentPath%%front%\"=="%~dp0" goto end


set parentPath=%parentPath%%front%\


goto begin


:end

echo %parentPath%

    set workdir=%parentPath:~0,-6%
    echo 系統目錄 %workdir%


rem 設置變量顯示系統時間
set mydate=%Date:~0,4%%Date:~5,2%%Date:~8,2%-%time:~3,2%%time:~6,2%
    rem 設置服務名
set MYSQL_SERVICE_NAME=mysql


echo 關閉服務
net stop %MYSQL_SERVICE_NAME%

rem 備份ROOT(因爲move命令不成功,故只能xcopy+rd)用if判斷來兼容兩個目錄名

IF EXIST "%workdir%\apache-tomcat-7.0.37-win32\webapps\" (xcopy %workdir%\apache-tomcat-7.0.37-win32\webapps\ROOT %workdir%\ROOT_Backup\Backup_%mydate%\ROOT\ /e) ELSE (xcopy %workdir%\apache-tomcat-7.0.37\webapps\ROOT %workdir%\ROOT_Backup\Backup_%mydate%\ROOT\ /e)

rem 刪除ROOT

IF EXIST "%workdir%\apache-tomcat-7.0.37-win32\webapps\" (rd %workdir%\apache-tomcat-7.0.37-win32\webapps\ROOT  /s /q) ELSE (rd %workdir%\apache-tomcat-7.0.37\webapps\ROOT  /s /q)


rem 建立ROOT目錄
IF EXIST "%workdir%\apache-tomcat-7.0.37-win32\webapps\" (md %workdir%\apache-tomcat-7.0.37-win32\webapps\ROOT) ELSE (md %workdir%\apache-tomcat-7.0.37\webapps\ROOT)


rem 刪除緩存
IF EXIST "%workdir%\apache-tomcat-7.0.37-win32\webapps\" (rd %workdir%\apache-tomcat-7.0.37-win32\work\Catalina  /s /q) ELSE (rd %workdir%\apache-tomcat-7.0.37\work\Catalina  /s /q)


echo 更新


IF EXIST "%workdir%\apache-tomcat-7.0.37-win32\webapps\" (xcopy %updateDir%\ROOT %workdir%\apache-tomcat-7.0.37-win32\webapps\ROOT /e /y) ELSE (xcopy %updateDir%\ROOT %workdir%\apache-tomcat-7.0.37\webapps\ROOT /e /y)


ping -n 2 127.1>nul
echo 啓動數據庫服務
net start %MYSQL_SERVICE_NAME%


echo===================================================================
echo      如提示“複製了n個文件”即表示已更新成功;
echo     “找不到文件,複製了0個文件”,則表示更新失敗。
echo===================================================================
echo      確認後按任意鍵完成
pause>nul
發佈了30 篇原創文章 · 獲贊 6 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章