Powershell
Proje Powershell ile bir klasörden text dosyası içerisinde yer alan dosyaları silme
Aşağıdaki script ile powershell kullanarak belirli network üzerinde yer alan bir klasörde elimizdeki dosya listesine göre sildirme yapabiliriz.
Bu çalışmanın scripti aşağıdaki gibidir
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
#1- Yapılan işlemlerin kaydı için Transcript açılır, script çalıştırmadan başlatılır masaüstüne kayit.txt atar. Start-Transcript ([Environment]::GetFolderPath("Desktop")+"\kayit.txt") #2 $FileList içerisindeki dosyaları sil. $TargetFolder = "\\dc01\Videolarım" #Network üzerinde silinecek dosyaların pathi $FileList = Get-Content C:\test\DeleteFiles.txt #Silinecek dosyaların isimleri foreach ($Files in $FileList) { Remove-Item $TargetFolder\$Files -Verbose } |
Bu Script’in daha gelişmiş bir versiyonu aşağıdadır
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
#1- Yapılan işlemlerin kaydı için Transcript açılır, script çalıştırmadan başlatılır masaüstüne CaptureConsole.txt atar. $CaptureFile = "C:\Data\CaptureConsole.txt" Start-Transcript $CaptureFile #2 Değişkenlerimizi tanımlayalım $FileList = Get-Content "C:\Data\Delete-List.txt" #Silinecek dosyaların isimleri $TargetFolder = "\\FileServer\Files\" #Network üzerinde silinecek dosyaların pathi $ResultsFile = "C:\Data\Result.txt" #Ekran çıktılarını Result.txt dosyasına kaydeder #3 - $FileList içerisindeki dosyaları silelim. foreach ($Files in $FileList) { $DatabasePath = $Files $DeletePath = $Files.Replace("FileServer/", $TargetFolder) try { Remove-Item $DeletePath -Verbose -erroraction stop "Deleted : " + $DatabasePath + " : " + $DeletePath | Out-File -FilePath $ResultsFile -Append } catch { # Write-Host "Failed - " $Files "Failed : " + $DatabasePath + " : " + $DeletePath | Out-File -FilePath $ResultsFile -Append } } |