對於Windows系統,我們可以使用bat指令碼來代替手工拷貝檔案備份.主要使用的語句有:
1.xcopy 拷貝
2.md 建立
我的原始需求:按當前系統日期建立檔案夾,並把指定要備份的目錄拷貝到該檔案夾下.
指令碼代碼:
@echo off
for /f "tokens=2 delims==" %%a in ('wmic os get localdatetime /value') do (set ct=%%a)
set date=%ct:~0,8%
set h=%ct:~8,2%
set m=%ct:~10,2%
rem 從系統時間截取字串產生目的檔案夾
set path=E:/workspace/hjeas60/bak/%date%-%h%%m%
set srcSource=E:/workspace/hjeas60/src/*.*
set srcDist=%path%/src
rem 建立檔案夾
md %srcDist%
echo xcopy "%srcSource%" "%srcDist%"
rem 從原路徑拷貝到目的路徑
xcopy "%srcSource%" "%srcDist%" /S /E /Y
rem 以下是另一目錄的拷貝
set metaSource0=E:/workspace/hjeas60/deployed_metas/bim.permission
set metaSource1=E:/workspace/hjeas60/deployed_metas/com
set metaDist=%path%/deployed_metas/com
md %metaDist%
xcopy "%metaSource0%" "%metaDist%"
xcopy "%metaSource1%/*.*" "%metaDist%" /S /E /Y
echo 完成從%srcSource%複製至%srcDist%!
echo 完成從%metaSource%複製至%metaDist%!
pause
遇到的問題:開始時bat文法不瞭解,只能在網上找參考資訊然後猜它的意思,償試修改。後來發現最後一個錯總是提示“xcopy 不是內部或外部命令,也不是可執行檔程式”,後來在網上看到方法,把系統目錄下/WINDOWS/system32/xcopy.exe copy到運行目錄下(即是你當前編輯的bat目錄下),就成功執行了,大功告成。
讓電腦幫你去做那些機械式、煩鎖、重複性的工作,是一件很爽的事情!因為它會做得比你手工快而不會漏東西,你可以從中解脫出來!