Я новичок в сценариях и Powershell, и я пытаюсь создать сценарий, чтобы каждый день сохранять файлы журнала только за 3 последних дня
function RotateLog {
$dir="C:\Users\user1\Documents\Project\LOG"
$DayMax= -3
$CurrentDate= Get-Date -uformat "%d-%m-%Y-%H%M"
$DatetoDelete= (get-date -UFormat "%d-%m-%Y-%H%M").AddDays($DayMax)
get-childitem -path $dir -filter "YYYY-mm-dd-*.LOG"
foreach-object {
if ($_.LastWriteTime -lt $DatetoDelete)
{remove-item}
}
}
Когда я запускаю $ DatetoDelete, он возвращает не удалось, потому что [System.String] не содержит метод с именем 'AddDays'.
Поэтому я попытался заменить переменную на
$dtt=(get-date).AddDays($DayMax)
Это работает так, но мне нужно получить формат. Как я могу это сделать?
Другая проблема, когда я запускаю команду remove-item
, она возвращает команду удаления элемента в позиции конвейера команд 1 Задайте значения для следующих параметров: путь [0] Что это значит?