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- 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 } } |