April 19, 2024
powershell

Powershell ile dosya arama

Powershell ile dosya arama. Powershell dosya arama özelliğini kullanabilmemiz için ihtiyacımız olan komut aslında çok basit Get-Childitem önemli olan bu komutu aradığımız dosyayı en hızlı şekilde bulması için nasıl konfigüre edebileceğimiz.

Powershell hakkında detaylı bilgiye sahip değilseniz buradan tüm faydalı powershell yazılarıma ulaşabilirsiniz.

Bir dosyayı bilgisayarımda kaydettim ama bulamıyorum. Bulmak için Windows PowerShell’i kullanmanın bir yolu var mı?  Evet var ve windows explorerdan daha hızlı. Aslında shell den dosya arama powershell ile hayatımıza girmedi. Daha önceleri windows komut satırı aracından aşağıdaki komutla dosya arayabiliyorduk

Dir C:\*.* /s

fakat çok fazla işlevi yoktu. Powershell’de çok daha güçlü parametreler vererek tam aradığımız dosyaya çok kısa sürede ulaşmak mümkün.

Get-Childitem’i dosya ve dizinlerin bir listesini oldukça kolay bir şekilde göstermek için kullanabiliriz . Aşağıdaki örnek, C Sürücüsünün kökündeki tüm dosyaları listeler:

Bir –Recurse parametresi eklersek alt dosyalarda da  , erişimimiz olan her şeyi gösterebiliriz.

Powershell ile dosya arama

Peki neden PowerShell?

Arama için PowerShell kullanmak bizim gözden kaçırabileceğimiz her şeyi bize sunacaktır. Ama bu klasör yapısında, erişemediğim tüm dosyalar powershell aramasında bana hata olarak dönecektir hata olarak dönmesini istemiyorsam -ErrorAction parametresi belirlemeliyim.

Bu yüzden PowerShell’e, “Bana bu küçük hataları gösterme, sadece devam et” diyorum.

Peki bunu bir arama aracı olarak nasıl kullanacağız? Get-Childitem ek parametreler içerir –Include ve –exclude. İşlevleri oldukça basit.

Include parametresi “aramasında sadece bu dosyaları bana göster” der ve -exclude ise bu dosyaları bana gösterme anlamına gelir.

Windows Temporary dosyası gizli bir klasör olduğu için, powershell bu bölümde normalde arama yapmaz. Eğer arayacağınız dosya temp altında olabilirse –force parametresini ekleyerek bu klasörleri de incelemesine izin verebilirsiniz..

Artık bu komutu yalnızca erişebildiğim Word belgelerini veya aramak istediğim terimi koyduğum (Ali) göstermek için kullanabilirim.

Bu komut ne yazık ki, her şeyi çeker, ne demek her şey. İçerisinde Ali geçen her klasör ve dosyayı ben klasörleri aramasını istemiyor sadece dosyaları aramasını istiyorsam -file parametresini ekleyerek bunu yapabilirim.

Ayrıca -Exclude parametresini “Bana herhangi bir TMP, MP3 veya JPG dosyası gösterme:” demek için de kullanabilirim.

Ve işte benim bilgisayarımdaki arama sonucu.

Powershell ile arama
Resim-1 Powershell arama

Powershell tarih aralığında arama

Farz edelim ki benim bilgisayarımda çok fazla dosya var istediğim dosyayı bu şekilde aramak çok uzun zaman alacak ve uzun yıllardır bu bilgisayarı kullanıyorum. Benim aradığım dosyayı daha hızlı bulmak için bir fikrim var bu dosyayı create ettiğim tarihi biliyorum tarih belirterek bu dosyayı arayabilir miyim? Yanıt yine evet. Örneğin powershell ile bir tarih aralığında dosyamızı aratacağız diyelim. Önce iki değişken atayarak başlangıç tarihi ve bitiş tarihini belirtiyorum. Başlangıç tarihine $tarihbasla bitiş tarihine ise $tarihbitir diyeceğim. ve Yıl -ay – gün olarak istediğim tarihi belirliyorum.

Tarih aralığımı da belirlediğime göre Artık yazmam gereken komut aşağıdaki gibi.

Powerhell dosya yolu (-Path) ile arama

Ya benim böyle şeylere ihtiyacım yok. Zaten dosyayı kaydettiğim yeri az çok biliyorum biliyorum, iki yerde olabilir, ama çok fazla dosya var. Gözle taramak yerine powershell hemen bulsun istiyorum var mı bir yolu? O en kolayı -Path parametresi ile yolu kendiniz belirleyebilirsiniz.


Kaynak

2 thoughts on “Powershell ile dosya arama

  1. Berk

    Hocam Merhaba,
    Youtubedeki videolarınızı takip severek ve ederek, son Server Manageri kurdum RSAT eklentileri ile birlikte, yanlız Local Server’im görünmüyor (DNS – server adını eklememe rağmen). Domain’im da yok, sadece kendi yerel PC’mi ana PC yapmak istiyorum. Bu arada, VM (herhangi bir sanal makina programı da kurmadım). Local serverin görünebilmesi için VM kurmam gerekiyor veya başka eksik şeyler mi var?
    Desteğiniz ve geri dönüşünüz için şimdiden teşekkür ederim.

    Saygılarımla,

  2. Powershell ile dosya silme

    […] Powershell ile dosya silme komutu oldukça basit aşağıdaki komutla powershell ile dosya ve klasörleri silebilirsiniz. Öncelikle bu komutları sorunsuz çalışırabilmek için Powershell’i administrator olarak açmanız gerekiyor. […]

Bir yanıt yazın