PowerShell - Varsa Dosyayı Sil


PowerShell'de bir veya daha fazla öğeyi silmek için kullanılan Remove-Item cmdlet'i bulunur. Bu öğeler dosyalar, klasörler, değişkenler, kayıt defteri anahtarları, işlevler ve takma adlar olabilir. PowerShell Remove-Item cmdlet'ini kullanarak dosyanın var olup olmadığını test edebilir ve varsa dosyayı silebiliriz.

Bu yazımda varsa dosyayı silmek için PowerShell Remove-Item'ın nasıl kullanılacağını anlatacağım.

PowerShell Varsa Dosyayı Sil

PowerShell Remove-Item cmdlet'i belirtilen dosya yolunu kullanarak dosyayı silin, PowerShell betiğinin altında çalıştırın

$FileName = "D:\PowerShell\ZeroFileSize.txt"
if (Test-Path $FileName) {
  Remove-Item $FileName
}

Yukarıdaki PowerShell betiğinde $FileName değişkeni bir dosya yolu içerir.

PowerShell Test-Path cmdlet'i dosyanın mevcut olup olmadığını kontrol eder. Dosya mevcutsa $True ve dosya belirtilen yolda mevcut değilse $False değerini döndürür.

PowerShell Remove-Item cmdlet'i, $FileName değişkeni tarafından belirtilen yolda mevcutsa dosyayı silmek için kullanılır.

Yukarıdaki komutta, belirtilen dizinde mevcut olduğu şekliyle ZeroFileSize.txt dosyasını kaldırın.

Not: Yukarıdaki PowerShell betiğini kullanarak, açık olsa bile varsa txt dosyasını kaldırabilirsiniz. Ancak excel veya CSV dosyasını dosya açıkken silmek için script kullanmaya çalışırsanız “İşlem dosyaya erişemiyor, çünkü başka bir işlem tarafından kullanılıyor. ”

Harika İpucu: PowerShell'de Get-ChildItem kullanılarak klasördeki dosyalar nasıl sayılır?

PowerShell - Varsa Salt Okunur Dosyayı Sil

PowerShell Remove-Item cmdlet'i, belirtilen dosya adı yolunu kullanarak varsa dosyayı silmek için kullanılır.

Ancak dosyanın salt okunur izni varsa veya dosya erişimi reddedilmişse, bir dosyayı silmek için aşağıdaki komutu kullanırsak

$FileName = "D:\PowerShell\File-Delete.txt"
if (Test-Path $FileName) {
  Remove-Item $FileName
}

yukarıdaki PowerShell betiği şu şekilde hata verecektir:

Remove-Item : Cannot remove item D:\PowerShell\File-Delete.txt: You do not have sufficient access rights to perform this 
operation.
At line:3 char:3
+   Remove-Item $FileName
+   ~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : PermissionDenied: (D:\PowerShell\File-Delete.txt:FileInfo) [Remove-Item], IOException
    + FullyQualifiedErrorId : RemoveFileSystemItemUnAuthorizedAccess,Microsoft.PowerShell.Commands.RemoveItemCommand

Dosyayı zorla silmek için -Force parametresini kullanmamız gerekiyor. Aşağıdaki komutu çalıştırın,

$FileName = "D:\PowerShell\File-Delete.txt"
if (Test-Path $FileName) {
  Remove-Item -Verbose -Force $FileName
}

Yukarıdaki PowerShell betiğinde, Remove-Item işlem mesajını yazdırmak için -Verbose parametresini, varsa dosyayı zorla silmek için Force parametresini kullanıyoruz.

Harika İpucu: PowerShell'de Büyük boyutlu dosyaları bulun!

Çözüm

Yukarıdaki makalenin PowerShell'de varsa dosyanın Remove-Item cmdlet'ini kullanarak nasıl silineceğine ilişkin makalenin size yardımcı olacağını umuyorum.

Salt okunur bir dosyayı silmek veya izin verilmeyen bir dosyaya erişim sağlamak için, dosyayı belirtilen konumdan zorla kaldırmak üzere Force parametresini kullanın.

PowerShell'de varsa klasörün nasıl silineceğini buradan öğrenebilirsiniz.

PowerShell Active Directory komutları ve PowerShell temelleri hakkında daha fazla konuyu ShellGeek ana sayfasında bulabilirsiniz.

İlgili makaleler