alcalmc Posted May 26 Share Posted May 26 Powershell komutları ile dosya veya Klasör silmek (sordum.net) Powershell birçok script ve yazılım kodlayıcısının en sevmediği script dilidir , gel gelelim Microsoftun dayatmacı yaklaşımı sebebi ile bazı durumlarda mecburen kullanıyoruz. yazılarımızda zaman zaman Powershell ile ilgili örnekler paylaşıyoruz bu örneklerden bazılarına yazının sonunda yeralan linklerden ulaşabilirsiniz. Her script dilinde temel işlemlerden bir taneside dosya veya klasör silmektir , mesela bir işyerinde Log dosyalarının tutulduğu klasörlerin belirli aralıklarla temizlenmesi gerekebilir bunun için bir script yazıp zamanlanmış görevlerden belirli aralıklarla çalıştırıp silme işlemini otomatik hale getirebiliriz. Peki ama Powershell komutları ile dosya veya klasör silme işlemi nasıl yapılır ? Spoiler Powershell komutları ile dosya veya Klasör silmek Velociraptor | 26/05/2024 | Powershell birçok script ve yazılım kodlayıcısının en sevmediği script dilidir , gel gelelim Microsoftun dayatmacı yaklaşımı sebebi ile bazı durumlarda mecburen kullanıyoruz. yazılarımızda zaman zaman Powershell ile ilgili örnekler paylaşıyoruz bu örneklerden bazılarına yazının sonunda yeralan linklerden ulaşabilirsiniz. Her script dilinde temel işlemlerden bir taneside dosya veya klasör silmektir , mesela bir işyerinde Log dosyalarının tutulduğu klasörlerin belirli aralıklarla temizlenmesi gerekebilir bunun için bir script yazıp zamanlanmış görevlerden belirli aralıklarla çalıştırıp silme işlemini otomatik hale getirebiliriz. Peki ama Powershell komutları ile dosya veya klasör silme işlemi nasıl yapılır ? Powershell komutları ile Dosya silin Aşağıda örnek olması açısında C:\ dizinine sordum isminde bir klasör oluşturdum ve içerisine a.txt, b.txt , c.txt isminde üç adet dosya ekledim şimdi amacımız "C:\sordum\a.txt" dosyasını Powershell komutları ile sildirmek bunun için : 1. Aramaya Powershell yazıp çıkan Powershell ikonuna sağ tıklayıp yönetici olarak çalıştır diyoruz. uygulayacağımız komut aşağıdaki şekilde olacaktır , ilk komut açıklamadır. 2 remove-item C:\sordum\a.txt C:\sordum\a.txt dosyası anında silindi , silinen dosyanın Geri dönüşüm kutusuna gitmediğini aklımızda bulunduralım. Powershell komutları ile birden fazla dosyayı aynı anda silin Eğer birden fazla dosyayı aynı anda silmek istersek bu durumda aşağıdaki komutu kullanmamız gerekecektir 1 remove-item C:\sordum\a.txt, C:\sordum\b.txt, C:\sordum\c.txt Komut uygulanır uygulanmaz Sordum klasörü içerisinde .txt dosyalarında komutla belirlediklerimiz anında silinecektir. Powershell komutları ile belirli uzantılardaki dosyaları silin Diyelimki Sordum Klasörünün içerisinde birçok dosya türü mevcut , bazıları excel bazıları word bazıları .txt dosyaları biz klasör içerisindeki dosya türlerinden sadece .xlsx olanların silinmesini istiyoruz bu durumda komutu şu şekilde oluşturmamız gerekir. 1 remove-item C:\sordum\*.xlsx Komut uygulandığında sordum klasörü içerisindeki tüm .xlsx dosyaları silinecektir. Peki ama C dizininde yeralan sordum klasörünü komple silmeye kalksaydık hangi komutu kullanacaktık ? Powershell komutları ile Klasör silin Powershell komutları ile Klasör silmek için aşağıdaki komutlardan faydalanabiliriz , ilk komut açıklama ikinci komut uygulamadır. 1 Remove-Item .\foldertodelete -Force -Recurse 2 Remove-Item C:\sordum -Force -Recurse Aslında komut olarak "Remove-Item C:\sordum" Komutunu da kullanabilirdim fakat bu durumda bizden onay isteyecekti o nedenle - Force ve - Recurse parametrelerini kullandık. Birden fazla klasör silmek için aşağıdaki gibi bir kod kullanılabilir. 1 Remove-Item -Path "C:\sordum\x", "C:\sordum\y", "C:\sordum\z" -Force -Recurse -include : silmek istediğiniz dosya veya klasörün isminin içermesi gereken kelimenin bir bölümünü belirtmenize olanak tanır. Burada dikkat edilmesi gereken önemli nokta, verilen adı içeren hem dosya hem de klasörlerin silinmesidir. Örneğin, isminde test sözcüğü geçen tüm klasör ve dosyaları aşağıdaki kod ile silebilirsiniz. 1 Remove-Item -Path "C:\sordum\*" -Include "*test*" -Force -Recurse Kod uygulandığında aşağıdaki dosya ve klasörler silinecektir. -exclude : İsminde belirli bir kelime bulunan klasörler hariç, diğer tüm içerikleri silebiliriz, filtre hem dosyalarda hem de klasörlerde geçerlidir. Mesela isminde test kelimesi geçen dosya ve klasörler hariç diğerlerini sildirmek için gerekli kod aşağıda. 1 Remove-Item -Path "C:\sordum\*" -Exclude "*test*" -Force -Recurse Kod uygulandığında aşağıdaki dosya ve klasörler silinecektir. Belirli tarihten eski dosyaları sildirtin 30 günden daha eski olan tüm klasörleri sildiren kod. 1 $dateTime = (Get-Date).AddDays(-30) 4 Get-ChildItem -Path $Path -Recurse -Directory | Where-Object { $_.LastWriteTime -lt $dateTime } | Remove-Item -Recurse -WhatIf Üstte uygulanan tüm komutlarda eğer dosya veya klasör bulunamazssa Powershell komutu hata verecektir bu hata ekrana genellikle kırmızı yazı ile yazdırılır. - Powershell ile windows defendere dışlama eklemek Burada - Powershell ile windows özelliklerini açıp kapatmak Burada - Powershell Yetki sorunlarını çözelim Burada - Powershell komutu ile Sürücü harfi değiştirelim Burada - Powershell de Çevre değişkeni kullanımı Burada 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.