Партиден скрипт за изтриване на файл, по-стар от 30 дни

Shell Scripting е мощен начин за работа с файлове на Linux . Човек може да пише персонализирани Shell скриптове, които могат да се използват за копиране или изтриване на стари файлове. След като напишете кода, трябва да го запишете като файл и да го стартирате в пакетния режим. След като кодът се изпълни в пакетния режим, потребителят трябва да може да премества или изтрива стари файлове според техните нужди.

  • Проблем
  • Решение
  • Забележка

Проблем

Бих искал да създам базов скрипт, който може да копира файлове, които са по-стари от 30 дни от една папка в друга. Искам също така да изтрия 30-дневните файлове от изходната папка след копиране в целевата папка.

Решение

Следният скрипт на Windows ще премества файлове, по-стари от дадена дата от C: folder1 до C: folder2. По-възрастни, предполагам, че те не са променени след определена дата.

Датата се предава във формат yyyymmdd. Когато файловете бъдат преместени в папка2, те автоматично се изтриват от папка1.

 # Script movefiles.txt # Входен аргумент - дата var str date # Получаване на списък с файлове, които не са модифицирани от $ date. var str list; lf -n "*" "C: folder1" (($ ftype == "f") AND ($ fmtime $ list # Преместване на файловете едно по едно. $ list> $ файловата система премества $ file "C: folder2" 

Сценарият е в бисерпинг. Изтеглете biterscripting от //www.biterscripting.com.

  • Запазете скрипта като C: Scriptsmovefiles.txt.
  • Започнете да пишете по-горе.
  • Извикайте скрипта като:

дата на скрипта на movefiles.txt (днешната дата)

Горното ще премества файлове, които не са били променяни от 30 дни преди днес.

Забележка

Благодарение на SenHu за този съвет на форума.

Предишна Статия Следваща Статия

Топ Съвети