Home > OS - Network > Tạo file Batch đồng bộ 2 thư mục theo ngày

Tạo file Batch đồng bộ 2 thư mục theo ngày

Trong quá trình triển khai phần mềm, việc sửa đổi chương trình theo yêu cầu người dùng là không tránh khỏi. Thường đội triển khai sẽ hiệu chỉnh chương trình trực tiếp trên server và client sẽ update xuống.

Việc update từ server xuống client cũng có nhiều giải pháp. Sau đây là giải pháp mình đang sử dụng:

Giải pháp của mình là sử dụng 1 batch file window để thực hiện việc này. Batch file này làm nhiệm vụ copy file từ server về client và chỉ copy những file nào có ngày modify >= ngày update gần nhất. Để xác định ngày update gần nhất mình dùng 1 file text lưu giá trị ngày update.

:: Author | Chungtv

:: Purpose | Synchronize files from server to client

@echo off

:: Lay ngay hien tai

call :GetDate y m d

echo TODAY: %m%-%d%-%y%

set ud=%m%-%d%-%y%

:: Neu ton tai file update thi gan ngay update la ngay luu trong file

if exist "D:\Asiasoft\AE81\LastSyn.txt" set /p ud = <"D:\Asiasoft\AE81\LastSyn.txt"

::Thuc hien viec copy

net use "\\server\AsiaSoft\AE81" password /user:user

xcopy "\\server\AsiaSoft\AE81" "D:\Asiasoft\AE81" /D:%ud% /I /Y /E

::Sau khi copy xong thi luu lai ngay update

set ud=%m%-%d%-%y%

if exist "D:\Asiasoft\AE81\LastSyn.txt" del "D:\Asiasoft\AE81\LastSyn.txt"

echo %ud% > "D:\Asiasoft\AE81\LastSyn.txt"

if errorlevel 5 goto writeerror

if errorlevel 0 goto eof

:writeerror

pause Disk write error occurred.

goto eof

:GetDate yy mm dd

setlocal ENABLEEXTENSIONS

set t=2&if "%date%z" LSS "A" set t=1

for /f "skip=1 tokens=2-4 delims=(-)" %%a in (‘echo/^|date’) do (

for /f "tokens=%t%-4 delims=.-/ " %%d in (‘date/t’) do (

set %%a=%%d&set %%b=%%e&set %%c=%%f))

endlocal&set %1=%yy%&set %2=%mm%&set %3=%dd%&goto :eof

:eof

Advertisements
Categories: OS - Network Tags:
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: