PowerShell: X Günden Eski Dosyalar Nasıl Taşınır


Belirli bir gün sayısından daha eski bir dizindeki tüm dosyaları taşımak için PowerShell'de aşağıdaki sözdizimini kullanabilirsiniz:

Get-ChildItem -Recurse -File |
Where LastWriteTime -lt (Get-Date).AddDays(-10) |
Move-Item -Destination 'c:/users/bobbi/data1'

Bu özel örnek, geçerli dizindeki 10 günden eski tüm dosyaları belirli bir konumdaki data1 adlı farklı bir klasöre taşır.

Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.

Örnek: PowerShell Kullanarak X Günden Eski Tüm Dosyaları Taşıma

Mevcut dizinimizde 10 günden daha uzun bir süre önce değiştirilmiş olan tüm dosyaları taşımak istediğimizi varsayalım.

Öncelikle mevcut dizininizdeki dosyaların her birini görüntülemek için Get-ChildItem -File komutunu kullanabiliriz:

Bu dizinde çeşitli LastWriteTime tarih saatlerine sahip beş dosya olduğunu görebiliriz.

Bu makalenin şu anda 7/6/2024 tarihinde yazıldığını unutmayın. 10 günden eski tüm dosyaları silmek istediğimizi varsayalım.

Bunu yapmak için aşağıdaki sözdizimini kullanabiliriz:

Get-ChildItem -Recurse -File |
Where LastWriteTime -lt (Get-Date).AddDays(-10) |
Move-Item -Destination 'c:/users/bobbi/data1'

Aşağıdaki ekran görüntüsü bu sözdiziminin pratikte nasıl kullanılacağını göstermektedir:

Get-ChildItem cmdlet'ini tekrar çalıştırdığımızda, 10 günden daha eski olan iki dosyanın da dizinden taşındığını görebildiğimize dikkat edin.

Data1 klasöründeki dosyaları görüntülemek için Get-ChildItem cmdlet'ini de kullanabiliriz:

data2 klasöründeki 10 günden eski her iki dosyanın da başarıyla data1 klasörüne taşındığını görüyoruz.

Not: Farklı bir sayıdan daha eski dosyaları taşımak için koddaki AddDays() işlevindeki -10'u değiştirmekten çekinmeyin. günlerin.

İlgili makaleler