
[已解決]求助優化windows2003文件服務器的備份bat代碼最后由 cLeoLiuyin 于 -9-16 22:19新手第一次嘗試自己編寫bat實戰文件服務器備份,已經測試初步達成目標,但是仍然存在缺陷。缺陷1:如果需要增加需要備份的路徑,則需要新增變量,并且新增代碼段缺陷2:如果目標服務器文件已經刪除,不會自動刪除備份中的歷史文件學習目的1:簡單代碼的使用,僅此一,無需二,意思是不希望通過準備一個配置txt文件存放需要備份的變量信息,然后運行一個bat來讀,也不希望額外生成臨時文件來存放變量信息,for來取變量值,用簡單代碼實現。學習目的2:通過簡單代碼,重構類似數組,robocopy功能,畢竟windows 2003本身無該功能。求教各位大仙,優化我的bat腳本,謝謝。環境:windows 2003服務器目標:備份另一臺文件服務器上的共享文件夾內制定目錄下的文件(通過計劃任務定期周六晚上啟動該腳本進行備份更新)代碼:
- @echo off
- rem 設置變量backupfrom,需要備份文件的完整目標路徑
- set s_bk_from=172.16.0.12
- rem 設置變量backupto存入備份文件的完整路徑,例如:f:itdata或者172.16.0.6
- set s_bk_to=g:backup
- rem 設置變量s_01至s_99需要備份的文件夾名稱,增加一個變量,需要檢查下面是否同步COPY了改變量的處理過程
- rem 如果路徑名中包含特殊字符串,需要用轉移字符標識,例如Print&Dye需要寫為Print^&Dye
- set s_01=Account
- set s_02=Cwong
- set s_03=TimeCard
- set s_04=Sales
- set s_05=Print^&Dye
- set s_06=it-bIKO-CLUB-WORK
- set s_07=it-bIT工作
- set s_08=it-b源文件
- set s_09=it-b系統運行文件
- set s_10=it-b系統
- set s_11=it-b軟件
- rem 如果存放備份文件的路徑不存在,則先創建用于存放備份文件的文件夾
- if not exist %s_bk_to% md %s_bk_to%
- rem 需要進入到存放備份文件的磁盤跟目錄下,才可以對該盤進行讀寫操作
- %s_bk_to:~0,2%
- cd %s_bk_to%
- rem 備份變量s_01目錄文件
- if not exist %s_01% md %s_01%
- xcopy %s_bk_from%%s_01% %s_bk_to%%s_01% /s/e/d/y
- rem 備份變量s_02目錄文件
- if not exist %s_02% md %s_02%
- xcopy %s_bk_from%%s_02% %s_bk_to%%s_02% /s/e/d/y
- rem 備份變量s_03目錄文件
- if not exist %s_03% md %s_03%
- xcopy %s_bk_from%%s_03% %s_bk_to%%s_03% /s/e/d/y
- rem 備份變量s_04目錄文件
- if not exist %s_04% md %s_04%
- xcopy %s_bk_from%%s_04% %s_bk_to%%s_04% /s/e/d/y
- rem 備份變量s_05目錄文件
- if not exist %s_05% md %s_05%
- xcopy %s_bk_from%%s_05% %s_bk_to%%s_05% /s/e/d/y
- rem 備份變量s_06目錄文件
- if not exist %s_06% md %s_06%
- xcopy %s_bk_from%%s_06% %s_bk_to%%s_06% /s/e/d/y
- rem 備份變量s_07目錄文件
- if not exist %s_07% md %s_07%
- xcopy %s_bk_from%%s_07% %s_bk_to%%s_07% /s/e/d/y
- rem 備份變量s_08目錄文件
- if not exist %s_08% md %s_08%
- xcopy %s_bk_from%%s_08% %s_bk_to%%s_08% /s/e/d/y
- rem 備份變量s_09目錄文件
- if not exist %s_09% md %s_09%
- xcopy %s_bk_from%%s_09% %s_bk_to%%s_09% /s/e/d/y
- rem 備份變量s_10目錄文件
- if not exist %s_10% md %s_10%
- xcopy %s_bk_from%%s_10% %s_bk_to%%s_10% /s/e/d/y
- rem 備份變量s_11目錄文件
- if not exist %s_11% md %s_11%
- xcopy %s_bk_from%%s_11% %s_bk_to%%s_11% /s/e/d/y
nclick="copycode($('code0'));">復制代碼