@@ -76,7 +76,7 @@ Function WriteLog {
76
76
[string ]$CustomLogFile # Explicitly specify the output filename.
77
77
)
78
78
if ($CustomLogFile -eq " " ){
79
- $Script :LogFile = ($WorkingDirectory + " \" + $ScriptFileName.replace (" .ps1" , " _" ) + ((" {0:yyyy/MM/dd}" -f (get-date )) -replace " /" , " ." ) + " log .txt" )
79
+ $Script :LogFile = ($WorkingDirectory + " \" + $ScriptFileName.replace (" .ps1" , " _" ) + ((" {0:yyyy/MM/dd}" -f (get-date )) -replace " /" , " ." ) + " _log .txt" )
80
80
}
81
81
Else {
82
82
$Script :LogFile = ($WorkingDirectory + " \" + $CustomLogFile )
@@ -96,14 +96,15 @@ Function WriteLog {
96
96
$IsTodaysLogFile = ($firstDate.Date -eq (Get-Date ).Date) # compare match against todays date
97
97
}
98
98
if ($IsTodaysLogFile -eq $False ){
99
- Rename-Item $Script :LogFile ($WorkingDirectory + " \" + $ScriptFileName.replace (" .ps1" , " _" ) + ((" {0:yyyy/MM/dd}" -f $firstDate ) -replace " /" , " ." ) + " log .txt" )
99
+ Rename-Item $Script :LogFile ($WorkingDirectory + " \" + $ScriptFileName.replace (" .ps1" , " _" ) + ((" {0:yyyy/MM/dd}" -f $firstDate ) -replace " /" , " ." ) + " _log .txt" )
100
100
Write-Verbose " Archived Log file."
101
101
}
102
102
# Check if there's more than 3 logfiles with a date and if so delete the oldest one
103
- $logFiles = Get-ChildItem - Path $WorkingDirectory - Filter " *.txt" | Where-Object { $_.Name -match ' \d{2}\.\d{2}\.\d{2}log.txt' }
103
+ $logFiles = Get-ChildItem - Path $WorkingDirectory - Filter " *.txt" | Where-Object { $_.Name -match ' \d{2}\.\d{2}\.\d{2}_?\S* log\ .txt' }
104
104
$logFilesToKeep = $logFiles | Sort-Object name - Descending | Select-Object - First $LogsToKeep # sorting by Name rather than LastWriteTime in case someone looks back and edits it.
105
+ $logFilesToDelete = $logFiles | Where-Object { $_ -notin $logFilesToKeep }
105
106
foreach ($fileToDelete in $logFilesToDelete ) {# Delete log files that exceed the latest three
106
- # Remove-Item -Path $fileToDelete.FullName -Force
107
+ Remove-Item - Path $fileToDelete.FullName - Force
107
108
Write-Verbose (" Deleted " + $fileToDelete.FullName )
108
109
}
109
110
}
0 commit comments