PowerShell liste dosyaları tarihe göre sıralanır
Dizinlerdeki dosyaların bir listesini almak ve bunları createdtime veya lastwritetime gibi dosya özniteliklerine göre sıralamak için PowerShell'de Get-ChildItem veya ls komutunu kullanın. PowerShell'de dosyaları tarihe göre artan veya azalan sırada listeler.
Dosya, dosyanın ne zaman oluşturulduğunu ve dosyanın en son ne zaman değiştirildiğini belirten createdtime ve lastwritetime gibi niteliklere sahiptir. Bu nitelikleri kullanarak dosyaları listeleyebilir ve DateTime'a göre sıralayabiliriz.
Bu makalede, tarihe göre nasıl sıralanacağını ve dosyaların son güncellenme zamanına göre nasıl sıralanacağını tartışacağız.
PowerShell tarihe göre sıralanır
Unix komutu ls, PowerShell'de dosya sistemindeki dosya ve dizinlerin listesini ve bunların bilgilerini almak için kullanılabilir.
Dosyaları tarihe göre sıralanmış olarak listelemek için aşağıdaki PowerShell betiğini kullanın.
ls | sort LastWriteTime -Descending | Select -First 5Yukarıdaki PowerShell betiğinde ls komutu, geçerli dizindeki dosyaların listesini alır ve çıktıyı sort komutuna yönlendirir. sort komutu, dosyaları Descending özelliğiyle son güncellenme zamanlarına göre sıralamak için LastWriteTime dosya özniteliğini kullanır.
Seç komutu, ilk 5 eski dosyayı değiştirilme tarihine göre sırayla görüntülemek için İlk parametresini kullanır.
Yukarıdaki PowerShell'in ls sıralamasına göre çıktısı şöyledir:
Harika İpucu: Dizindeki son değiştirilen dosya PowerShell kullanılarak nasıl alınır?
Get-ChildItem kullanarak dosyaları Datetime'a göre PowerShell Listeleme
PowerShell'deki Get-ChildItem cmdlet'i dizindeki öğeyi ve onun bilgilerini alır. Dosyaların listesini almak ve bunları tarih ve saate göre sıralamak için aşağıdaki betiği kullanın.
Get-ChildItem -Path D:\PS\ -File | Where-Object {$_.CreationTime} | Sort-Object CreationTime -Descending| Select-Object -First 5 | Select Length, Name, LastWriteTime,CreationTime Yukarıdaki PowerShell betiğinde Get-ChildItem, belirtilen yoldan dosyaların listesini alır ve çıktıyı Where-Object komutuna yönlendirir.
where-Object komutu, CreationTime dosya özniteliğini kullanır ve çıktıyı Sort-Object'e yönlendirir. Sort-Object komutu, dosyaları oluşturma zamanına göre sıralamak için CreationTime'ı kullanır.
Yukarıdaki PowerShell betiği, oluşturulma zamanlarına göre ilk 5 dosyayı listeler.
Dosyaları oluşturma zamanına göre dizin sırasına göre almak için yukarıdaki PowerShell'in çıktısı:
PS D:\PS> Get-ChildItem -Path D:\PS\ -File | Where-Object {$_.CreationTime} | Sort-Object CreationTime -Descending | Select-Object -First 10 | Select Length, Name, LastWriteTime,CreationTime
Length Name LastWriteTime CreationTime
------ ---- ------------- ------------
23001 powershell-ls-files-sort-by-date.png 22-01-2023 09:40:58 22-01-2023 09...
38040 powershell-ls-sort-by-date.png 22-01-2023 09:28:44 22-01-2023 09...
9703 convert-timestamp-to-datetime-in-powershell.png 21-01-2023 21:17:36 21-01-2023 21...
22002 powershell-compare-file-modified-date-to-specific-date.png 21-01-2023 20:17:43 21-01-2023 20...
21729 powershell-compare-file-creation-date.png 21-01-2023 20:42:23 21-01-2023 20...
11529 powershell-compare-datetime-objects.png 21-01-2023 18:27:30 21-01-2023 18...
14098 powershell-compare-dates.png 21-01-2023 18:21:16 21-01-2023 18...
13091 powershell-get-date-minus-one-day.png 21-01-2023 17:18:12 21-01-2023 17...
720 employee.txt 21-01-2023 11:24:24 21-01-2023 11...
10936 get-windows-os-version.png 04-09-2022 22:00:55 04-09-2022 22...
PS D:\PS> Dosyaları tarihe göre sıralamak için dir kullanın
PowerShell'de dosyaların listesini ve bilgilerini almak için dir komutunu kullanabilirsiniz. Dosyaları sıralamak ve son yazma zamanına göre en son dosya adını almak için aşağıdaki betiği kullanın.
dir -File | sort LastWriteTime -Descending | Select -First 5Yukarıdaki PowerShell betiğinde dir, geçerli dizindeki dosyaların listesini almak için Dosya parametresini kullanır ve çıktıyı sort komutuna yönlendirir.
sort komutu, dosyaları azalan şekilde sıralamak için dosyanın lastwritetime özelliğini kullanır.
Siparişlerdeki eski dosyaları azalarak bulmak için yukarıdaki PowerShell betiğinin çıktısı şöyledir:
PS D:\PS> dir -File | sort LastWriteTime -Descending | Select -First 5
Directory: D:\PS
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 22-01-2023 09:40 23001 powershell-ls-files-sort-by-date.png
-a---- 22-01-2023 09:28 38040 powershell-ls-sort-by-date.png
-a---- 21-01-2023 21:17 9703 convert-timestamp-to-datetime-in-powershell.png
-a---- 21-01-2023 20:42 21729 powershell-compare-file-creation-date.png
-a---- 21-01-2023 20:17 22002 powershell-compare-file-modified-date-to-specific-date.pngHarika İpucu: PowerShell'de dizindeki dosyalar nasıl listelenir?
Çözüm
Dosyaların tarih ve saate göre sıralanarak nasıl listeleneceğine ilişkin yukarıdaki makalenin size yardımcı olacağını umuyorum.
Dosyaların listesini almak için Get-ChildItem, ls veya dir komutunu, dosyaları artan veya azalan düzende sıralamak için Sort komutunu kullanabilirsiniz.
PowerShell'de gizli dosyaları görüntülemek için ls komutunu -Hidden parametresiyle birlikte kullanabilirsiniz.
PowerShell Active Directory komutları ve PowerShell temelleri hakkında daha fazla konuyu ShellGeek ana sayfasında bulabilirsiniz.

