Kopiowanie dat plików i folderów - gdy nie-nowsze:   * Lista plików większych niż….   * Lista plików nie starszych niż 7 dni   * Kopiowanie plików z 3 ostatnich dni   * Git Bash  

Robocopy (Robust File Copy) - zaawansowane opcje kopiowania plików

Zob. też Robocopy jako polecenie kopii zapasowej -> andrzejq.github.io/Office_S_Tips

Kopiowanie dat plików i folderów - gdy nie-nowsze:

set "src=c:\aaa"
set "dst=d:\bbb"
robocopy /e /xn /timfix /copy:t /dcopy:t "%src%" "%dst%"

/e - uwzględnij podfoldery, także puste
/xn - uwzględnij tylko nie-nowsze
/timfix - skoryguj czasy plików we wszystkich plikach, także pominiętych
/copy:t - skopiuj daty plików (bez zawartości); /dcopy:t - daty folderów
Total Commander - skopiuj starsze daty z 2-giego panela: cmd /k robocopy /e /xn /timfix /copy:t /dcopy:t “%T.” “%P.”

Lista plików większych niż….

ROBOCOPY . "..\_%date%_%time::=.%" *.* /L /S /nDL /nC /nJH /nJS /min:44444444
  • Folder docelowy powinien być pusty! (tutaj to jest "..\_%date%_%time::=.%"); /L - tylko wyświetlaj; min:bajtów

Lista plików nie starszych niż 7 dni:

(maxage:n; gdy n < 1900 to n = liczba dni, inaczej data n = YYYYMMDD)

ROBOCOPY . "..\_%date%_%time::=.%" *.* /L /S /nDL /maxAge:7
  • /nS - bez rozmiaru, więc dostajemy same nazwy plików; albo /TS - będzie rozmiar i czas
  • Usuwając /L dostaniemy kopiowanie wybranych plików

Kopiowanie plików z 3 ostatnich dni:

… nie większych niż (/MAX) 20MB z pominięciem (/XD) niektórych folderów (UWAGA: pełne ścieżki, ewentualnie względem źródłowego, ale tylko 1 poziom)
… (po usunięciu /L)

ROBOCOPY "C:\SOURCE" "d:\dest" *.* /L /S /dcopy:DAT /nDL /MAX:20971520 /XD .git "c:\temp dir" /maxAge:3

/L : List only; /S : copy Subfolders; /dcopy:DAT : kopiuj także daty folderów; /nDL : no Directory List; ewentualnie z opcją /xo - pomiń starsze

Git Bash

robocopy  "/c/tmp/aaa" "/c/tmp/bbb" //R:1 //W:3 //MIR

gdzie /c/tmp/ == c:\tmp\
To jest o wiele szybsze niż rsync -avu --delete "/c/tmp/aaa" "/c/tmp/bbb"

Dokumentacja:

Notatki - robocopy_notes.txt