30 napnál idősebb állományok törlése és ennek logolasa

Hello,

Task Managerben szeretnek futtatni egy powershell scriptet, ami torli a 30 napnal regebbi allomanyokat egy meghajton. Nincs alkonyvtar, csak mentes allomanyok, es 2 masik allomany azt hiszem. Nekem a 30 napnal idosebb menteseket kellene torolnom. Gondoltam irok egy scriptet ami nyit egy logot beleirja, h ma ezeket toroltuk es torli a fileokat. Eljutottam odaig h szerintem a kikeressuk es toroljuk resz megvan, de nem tudom sehogy sem ezt logolni...

A script eddig nagyjabol:


$Folder = "X:\*"
$Days = "30"
$Extension = "*.bkf"
$FileList = Get-ChildItem -Path $Folder -Include $Extension | Where-Object {$_.CreationTime.Date -lt (Get-Date).AddDays(-$Days)}

$FileList | Remove-Item -Whatif -Verbose

Egyelore a -Whatif azert van mert meg csak tesztelem a cuccot. De ez mukodni latszik. Namost valami kellene bele h egy log is legyen errol. Probalkoztam Write-Host, Write-Out es File-Out dolgokkal, de nm igazan jott ossz meg annyi sem, hogy legalabb egy listat beletegyen egy logfile-ba

Tovabba, a Start-Transcript/Stop-Transcriptet is csinaltam de arra fura mod azt irta a scriptben h nem tamogatja a host. Bezzeg mikor elinditom soronkent a PS-t akkor megy siman

Szal a kerdes, hogy hogyan lehetne ezt megvalositani? Elindul a script, kiijra egy logfileba h ezeket torli, majd torli.

(Csinaljak duplazast?)


$logfile = "C:\ideteszem a logot_$(Get-Date -Format yyyymmdd_HHmm).log"
Write-Host "Ezeket torljuk" $FileList  | File-Out $logfile
$FileList | Remove-Item -Whatif -Verbose

Ez hulyen nez ki szerintem meg a -Verbosenak akkor nincs ertelme a Remove-Item utan. Bar lehet nem is kell, mert sztem semmi kulonos nem tortenik csak a file torlodik. Meg tulajdonkeppen az lenne a lenyeg ha logba annak a bizonyiteka kerulne ami tenylegesen torlodik

Hozzászólások

Az a File-out nem Out-file?
Én az utolsó sor végére, a verbose után tennék egy "| Out-file -FilePath $FileList -Append"-t, a Write-Host-tal meg csak az "Ezeket töröljük" szöveget írnám a logba.
Azt hiszem...

Na majd valamelyik windows szakértő úr megmondja, hogy mit kellene valójában.

Értem én, hogy egyesek amióta van, a seggüket is PowerShell-lel törlik, de egy ilyen piti feladatra szerintem ágyúval verébre kategória.

forfiles

--
trey @ gépház

Igazad van, kezdhettem volna ugy is , hogy oldjatok meg nekem lecci ezt a feladatot....

Bocs, hogy nem ismerek minden rendelkezesre allo lehetoseget es megprobaltam valahogy, azzal amit pl ismerek.

Kosz, a forfiles is jonak tunik megnezem azzal hova jutok.

-+-+-+
Dropbox tarhely
Cave Canem
+-+-+-

Azt nem írtad, hogy milyen Windows verzióra kell. Évek óta ezt használom erre a feladatra. Worksforme. Pl. Windows 7-en csak ezért nem fogok PowerShell-t telepíteni. Nekem pl. Windows 7-re kellett. Valahogy így:

forfiles /p x:\foo /m *.bak /d -7 -c "cmd /c del @path"

Persze, ha akarsz csinosíthatsz rajta változókkal stb.

--
trey @ gépház

Nem lenne érdemes megtartani pl. 3 havonta egyetlen régi mentést?

Mivel mentesz? Szinte biztos, hogy tud törölni is...
Mondjuk amit ismertem, az inkább csak azonnal tudott, viszont megvolt a nagy előnye, hogy kazettáról is majdnem olyan gyorsan szedte elő a kért állományokat, mint diszkről.
(bocs, mindig elfelejtem, hogy windows :( )

write-output $Filelist >> D:\akarmi.log -nálam mukodott