PowerShell Dosyayı Sil | PowerShell Silme Dosyasının Uygulanması


PowerShell Silme Dosyasına Giriş

PowerShell Dosya Silme'de, bir PowerShell'deki öğeleri silmek için Remove-Item cmdlet'i kullanılabilir. Bu cmdlet yalnızca dosyaları kaldırmak için değil aynı zamanda klasörleri, işlevleri, kayıt defteri anahtarlarını vb. kaldırmak için de kullanılır. Sistem yöneticisinin en önemli işlerinden biri, sürücüde yeterli alan olmasını sağlamaktır ve bu işleme temizlik adı verilir. Bu tür etkinlikler, belirli koşullara bağlı olarak dosyaları silecek bir komut dosyası kullanılarak otomatikleştirilebilir. Bu makalede, Remove-Item cmdlet'i kullanılarak dosyaların nasıl silinebileceği ve bunun nasıl otomatikleştirilebileceği ayrıntılı olarak ele alınacaktır.

Sözdizimi

PowerShell Silme Dosyasının sözdizimi aşağıdadır:

Remove-Item[-Path] <String[]>[-Filter <String>][-Include <String[]>][-Exclude <String[]>][-Recurse][-Force] [-Credential <PSCredential>][-WhatIf][-Confirm][-Stream <String[]>] [<CommonParameters>]
Remove-Item-LiteralPath <String[]>[-Filter <String>][-Include <String[]>][-Exclude <String[]>][-Recurse][-Force][-Credential <PSCredential>][-WhatIf] [-Confirm][-Stream <String[]>][<CommonParameters>]

Parametreler

Parametreler aşağıdadır:

Onayla: Cmdlet'i çalıştırmadan önce istemciye bir onay görüntülenir. Bu parametrenin bilgi türü bir anahtardır. Varsayılan adla ima edilmektedir (bkz. Varsayılan saygı hiçbiridir. Parametre, ardışık düzen girişini kabul etmez ve joker karakterlere ayrıca izin verilmez.

Hariç Tut: Bu parametreye sağlanan değerler cmdlet yürütülürken dikkate alınmayacaktır. Bu genellikle yol parametresinin değeri olarak kabul edilir. Joker karakterlerin aktarılmasına izin verir. Bu, belirli bir dosya veya öğe için değil, yalnızca cmdlet joker karakter kullanılarak çalıştırıldığında kullanılabilir. Bu parametrenin bilgi türü String[]'dir. Varsayılan saygı hiçbiridir. Parametre ardışık düzen girişini kabul etmez ancak joker karakterlere izin verilir.

Filtre: Bu, cmdlet'in çalıştırılabileceği nesneleri filtrelemek için kullanılır. Bu etkilidir çünkü filtreyi tüm nesneleri getirdikten sonra uygulamak yerine başlangıçta uygular. Bu parametrenin bilgi türü String'dir. Varsayılan saygı hiçbiridir. Parametre ardışık düzen girişini kabul etmez ancak joker karakterlere izin verilir.

Zorla: Cmdlet'e, başka bir şeyin değiştirilemeyeceği şeyleri (ör. üstü kapatılmış veya salt okunur kayıtlar veya salt okunur nominal değerler veya faktörler) boşaltma yetkisi verir. Cmdlet, sabit değerlere sahip değişkenleri ve takma adları boşaltamaz. Uygulama sağlayıcıya göre farklılık gösterir. Aslında, Drive parametresini kullanan cmdlet, güvenlik sınırlamalarını ortadan kaldıramaz. Bu parametrenin bilgi türü switch'tir. Varsayılan saygı hiçbiridir. Parametre, ardışık düzen girişini kabul etmez ve joker karakterlere izin verilmez.

Dahil et: Bu parametreye sağlanan değerler yalnızca cmdlet yürütülürken dikkate alınacaktır. Bu, yalnızca bu parametreyle temsil edilen nesnelerin silinmeyeceği anlamına gelir. Bu, belirli bir dosya veya öğe için değil, yalnızca cmdlet joker karakter kullanılarak çalıştırıldığında kullanılabilir. Bu parametrenin bilgi türü String[]'dir. Varsayılan saygı hiçbiridir. Parametre ardışık düzen girişini kabul etmez ancak joker karakterlere izin verilir.

LiteralPath: Bir veya daha fazla konuma giden yolu belirtir. LiteralPath'in değeri tam olarak yazıldığı için kullanılır. Kaçış dizilerini ayırt etmek için tek tırnaklar kullanılır. Bu parametrenin değeri, özelliklerinde nasıl göründüğüne göre sağlanmalıdır. Bu parametrenin bilgi türü String[]'dir. Varsayılan isimlerPSPath ve LP tarafından ima edilmektedir. Varsayılan saygı hiçbiridir. Parametre, ardışık düzen girişini onaylar ve joker karakterlere izin verilmez.

Yol: Bu, silinecek öğelerin bulunduğu yolu ifade eder. Bu parametrenin bilgi türü String[]'dir. Varsayılan saygı hiçbiridir. Parametre, ardışık düzen girişini onaylar ve joker karakterlere de izin verilir.

Yineleme: Belirtilen yolda bazı klasörler ve alt klasörler varsa, bu, işlem gerçekleştirilirken bu alt öğelerin de dikkate alınması gerektiği anlamına gelir. Ancak bu, bilinen bir parametre olan include parametresiyle iyi çalışmaz. Bu parametrenin bilgi türü bir anahtardır. Varsayılan saygı hiçbiridir. Parametre, ardışık düzen girişini kabul etmez ve joker karakterlere de izin verilmez.

Akış: Bu parametre yalnızca dosya sistemi sürücülerinde kullanılır. Bu parametrenin bilgi türü bir dizedir[]. Varsayılan saygı hiçbiridir. Parametre ardışık düzen girişini kabul etmez ancak joker karakterlere izin verilir.

PowerShell Silme Dosyasını Uygulama Örnekleri

Bahsedilen örnekleri aşağıda bulabilirsiniz:

Örnek #1

Kod:

Write-Host "Deleting a single file"
#Remove-Item -Path "C:\Vignesh\Test\AD Group export to csv.txt"
Write-Host "File deleted" -ForegroundColor Green
Write-Host "delting files except some files of a particular type"
#Remove-Item -Path "C:\Vignesh\Test\*" -Exclude *.csv
Write-Host "Files other than csv files are deleted" -ForegroundColor Green
Write-Host "Deleting hidden file"
#Remove-Item -Path "C:\vignesh\Test\Path.csv" -Force
Write-Host "Hidden file is deleted" -ForegroundColor Green
Write-Host "Deleting files using recurse option"
#Remove-Item -Path "C:\vignesh\Test" -Recurse
Write-Host "All the files and folders are deleted successfully" -ForegroundColor Green
Write-Host "Removing specific items using include"
#Remove-Item -Path "C:\Vignesh\New folder\*" -Include *.png
Write-Host "Only the png files are deleted" -ForegroundColor Green

Çıktı:

Örnek #2

Silinecek dosyaları otomatikleştirme:

Kod:

Write-Host"Deleting files greater than 60 days"
Get-ChildItem-Path"C:\logs"-Recurse|Where-Object {($_.LastWriteTime -lt (Get-Date).AddDays(-60))} |Remove-Item
Write-Host"File deleted"-ForegroundColorGreen
Write-Host"Deleting files that are greater than 1000 mb"
$path="C:\vignesh\logs"
$allowedsize=1000
$fsize= (Get-ChildItem$path|Measure-Object-propertylength-sum)
$Sizeinmb="{0:N2}"-f ($fsize.sum /1MB) +"MB"
if ($Sizeinmb-ge$allowedsize) {
Get-ChildItem$path-Recurse|Remove-Item-Force
Write-Host"File deleted"-ForegroundColorGreen
}

Çıktı:

Açıklama: Yukarıdaki komut dosyası, 60 günden eski dosyaları ve 1000 MB'tan büyük dosyaları siler. Yukarıdaki komut dosyası, görev zamanlayıcıda bir görev oluşturularak günlük çalışacak şekilde otomatikleştirilebilir.

Çözüm

Böylece makale PowerShell'de dosyaların silinmesi hakkında ayrıntılı olarak anlatılmıştır. Ayrıca dosyaları silerken kullanılabilecek çeşitli dahil etme ve hariç tutma senaryolarını da açıkladı. Ayrıca bir komut dosyası ve görev zamanlayıcı kullanarak silme işleminin nasıl otomatikleştirileceğini de gösterdi. Daha detaylı bilgi edinmek için örnek programlar yazıp bunları uygulamanız tavsiye edilir.

İlgili makaleler