2025年11月20日 星期四

使用 Robocopy 進行「資料夾」鏡像同步

參考來源+引用: 【程式開發筆記】讓電腦定時幫你備份重要資料,「鏡像同步、差異備份」樣樣通,Robocopy - 大漠國渡 

---

使用 Robocopy 進行「資料夾」鏡像同步

輸入「Robocopy <你的來源資料夾> <你的目的地資料夾> /mir /xo /e」

範例 : Robocopy D:\TEST D:\TEST2 /mir /xo /e

接下來將檔案儲存程「Windows 批次檔案 (.bat)」,「檔名」跟「路徑」就自己決定吧


// 第一種,會覆寫「目的地資料夾」安全性設定。

Robocopy <來源資料夾(檔案)> <目的地資料夾(檔案)> /mir /xo /e

// 第二種,不覆寫「目的地資料夾」安全性設定。

Robocopy <來源資料夾(檔案)> <目的地資料夾(檔案)> /e /xo /purge


「指令參數」說明

/e

複製子資料夾 (包含空的資料夾)

/xo

比較「來源檔案」與「目的地檔案」,若「來源檔案」較新則複製,否則排除不複製 (差異備份,所需參數)

/purge

刪除不存在於「來源資料夾」中的檔案 (差異備份,所需參數)

/mir 

鏡像資料夾 (相當於同時使用 /e 和 /purge 參數)。


「進階指令」說明

Robocopy <來源資料夾(檔案)> <目的地資料夾(檔案)> /e /xo /mir /mt: /dcopy:dat /xa:sh /xj /unicode /eta /R:5 /W:30 /tee /unilog+:D:\mirrorDir.txt /v

「指令參數」說明

/mt:<n> 

使用 n 個執行緒,執行工作。(如同 n 個人一起搬運檔案) 預設值是 8,最上值128。

需搭配使用 /log 參數,集中倒出,提升效能。

  

/log:<logfile>

使用系統編碼(Big5)寫入記錄檔。(若記錄檔已存在,覆寫現有的記錄檔)


/log+:<logfile>

使用系統編碼(Big5)寫入記錄檔。(若記錄檔已存在,接續寫入記錄檔)


/unilog:<logfile>

使用 UTF-8 編碼寫入記錄檔。(若記錄檔已存在,覆寫現有的記錄檔)


/unilog+:<logfile>

使用 UTF-8 編碼寫入記錄檔。(若記錄檔已存在,接續寫入記錄檔)


/dcopy:<copyflags> 

複製資料夾的內容。

D - 資料

A - 屬性

T - 時間戳記

E - 擴充屬性

X - 略過替代資料流

此選項的預設值為 DA (資料和屬性)。


/xa:[RASHCNETO]

符合以下屬性的檔案不處理。

R - 唯讀

A - 封存

S - 系統

H - 隱藏

C - 已壓縮

N - 未編製內容索引

E - 已加密

T - 暫存

O - 離線


/xj  

不複製 NTFS junction 檔案。


/unicode 

輸出內容使用 UTF-8 編碼。


/eta

顯示所複製檔案的預估抵達時間 (ETA)。


/r:<n> 

複製失敗,重新嘗試的次數,n 的預設值為 1,000,000 (一百萬次重試)。


/w:<n> 

複製失敗,重新嘗試的等候時間,以秒為單位,n 的預設值為 30 (等待時間為 30 秒)。


/tee 

將狀態輸出寫入主控台視窗及記錄檔。


/v 

產生詳細資訊輸出,並顯示所有略過的檔案。


1. 「鏡像同步」最終指令

Robocopy <來源資料夾(檔案)> <目的地資料夾(檔案)> /e /xo /mir /mt: /dcopy:dat /xa:sh /xj /unicode /eta /R:5 /W:30 /tee /unilog+:D:\mirrorDir.txt /v /xf *.tmp *.ds_store *.temp ~desktop.ini ~hiberfil.sys ~pagefile.sys ~thumbs.db ~swapfile.sys ~NTUSER.DAT ~ntuser.dat.LOG1 ~ntuser.dat.LOG2 $recycle.bin config.msi ntuser.dat ntuser.ini /xd "C:\Windows" "C:\ProgramData\Microsoft\Windows\Caches" "C:\Drivers" "C:\Temp" "C:\Documents and Settings" "*MSOCache*" "*RecycleBin*" "*recycler*" "*System Volume Information*"


「指令參數」說明


/xf <filename>[ ...]

符合指定名稱或路徑的檔案,支援使用萬用字元 (* 和 ?)。


*.tmp 

*.ds_store 

*.temp 

~desktop.ini 

~hiberfil.sys 

~pagefile.sys 

~thumbs.db 

~swapfile.sys 

~NTUSER.DAT 

~ntuser.dat.LOG1 

~ntuser.dat.LOG2 

$recycle.bin 

config.msi 

ntuser.dat 

ntuser.ini 


/xd <directory>[ ...] 

排除符合指定名稱和路徑的目錄。


"C:\Windows" 

"C:\ProgramData\Microsoft\Windows\Caches" 

"C:\Drivers" 

"C:\Temp" 

"C:\Documents and Settings" 

"*MSOCache*" 

"*RecycleBin*" 

"*recycler*" 

"*System Volume Information*"



2025年11月3日 星期一

SQL 取資料表所有欄位

 


SELECT COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH, NUMERIC_PRECISION, IS_NULLABLE

FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'table name'