Я новичок в powershell и у меня проблема. Я пытаюсь создать скрипт, который очищает все мои каталоги старше 30 дней, но когда я его запускаю, он ломается. Кто-нибудь знает, какая у меня проблема?
$fromNDays = $args[0]
$cutOffDate = (Get-Date).AddDays(-$fromNDays)
$directoriesToDelete = Get-ChildItem -Path $path -Attributes Directory -Filter r* | Where-Object LastWriteTime -le $cutOffDate
echo "deleting from $cutOffDate"
cd $(Agent.ReleaseDirectory)
cd ..\..
pwd
Foreach($directoryToDelete in $directoriesToDelete)
{
if($directoryToDelete.Name -ne "ReleaseRootMapping")
{
try
{
echo "Deleting directory $directoryToDelete"
Remove-Item –path $directoryToDelete.FullName -Force -Recurse
}
catch
{
echo "Failed deleting $directoryToDelete.FullName"
}
}
}
Ошибка при запуске:
echo "Не удалось удалить $ directoryToDelete.FullName" + ~
2020-03-09T09: 55: 23.3827859Z ## [ошибка] В строке отсутствует терминатор: ".
deleteReleaseDirectoryFrom30.ps1: 12 char: 5
2020-03-09T09: 55: 23.3832466Z ## [ошибка ] + {2020-03-09T09: 55: 23.3836221Z ## [ошибка] Отсутствует закрывающий '}' в блоке оператора или определении типа.
Эта ошибка появляется в строках 12, 23, 8 и 10