Batch script til sletning af fil ældre end 30 dage

Shell Scripting er en kraftfuld måde at håndtere filer på Linux . Man kan skrive brugerdefinerede Shell-scripts, der kan bruges til at kopiere eller slette gamle filer. Når du har skrevet koden ud, skal du gemme den som en fil og køre den i batch-tilstand. Når koden er kørt på batch-tilstand, skal brugeren kunne flytte eller slette gamle filer efter deres behov.

  • Problem
  • Opløsning
  • Bemærk

Problem

Jeg vil gerne lave et batch script, der kunne kopiere filer, der er ældre end 30 dage fra en mappe til en anden. Jeg vil også have det til at slette de 30 dage gamle filer fra kildemappen efter kopiering til destinationsmappen.

Opløsning

Følgende windows script vil flytte filer ældre end en given dato fra C: folder1 til C: folder2. Ved ældre antager jeg, at de ikke ændres efter en bestemt dato.

Datoen er bestået i formatet yyyymmdd. Når filer flyttes til mappe2, slettes de automatisk fra mappe1.

 # Script movefiles.txt # Input argument - dato var str date # Få en liste over filer, der ikke er ændret siden $ date. var str liste; lf -n "*" "C: folder1" (($ ftype == "f") OG ($ fmtime $ list # Flyt filer en efter en. mens ($ list "") gør var str fil; lex "1" $ list> $ file system move $ file "C: folder2" færdig 

Skriften er i bitskrivning. Download biterscripting fra //www.biterscripting.com.

  • Gem scriptet som C: Scriptsmovefiles.txt.
  • Start biterscripting.
  • Kald scriptet som:

script movefiles.txt dato (dagens dato)

Ovenstående vil flytte filer, der ikke er blevet ændret siden 30 dage før i dag.

Bemærk

Tak til SenHu for dette tip på forummet.

Forrige Artikel Næste Artikel

Top Tips