Out-File записывает пустой файл - PullRequest
0 голосов
/ 26 апреля 2018

Я в системе на PowerShell v2.

У меня есть скрипт, который удаляет старые файлы резервных копий.Я хотел бы сохранить результаты сценария, поскольку я вижу его на экране для записи в файл, чтобы я мог просмотреть, какие все файлы были удалены.

Я прочитал этот вывод Write-Host, которыйЯ вижу, что на экране невозможно перенаправить в файл, поэтому я попытался также использовать Write-Output, но могу получить результаты, которые будут записаны в файл.Файл создан, но он пуст.

Что я здесь делаю неправильно?

Вот код:

$Stamp1 = Get-Date -Format "MMddyyyy_hhmmss"
$File= "E:\SSBackups\PS_Delete_Script_logs\Delete_Backup_Results_$Stamp1.txt"
$ReadFile = Get-Content C:\Users\MSA050415\Desktop\List.txt
foreach ($Folder in $ReadFile) {
    #Write-Host "Folder currently being worked on: $Folder" -ForegroundColor Magenta
    Write-Output "Folder currently being worked on: $Folder"
    $Path ="E:\SSBackups\Database_Backups\$Folder"
    #Write-Host "The Path is set to $Path" -ForegroundColor Green
    Write-Output "The Path is set to $Path"
    Get-ChildItem $Path |
        Where-Object {$_.LastWriteTime -lt "4/17/2018 12:15:00 AM"} |
        Remove-Item -Verbose |
        Out-File $File
}

1 Ответ

0 голосов
/ 26 апреля 2018

Подробный вывод записывается в подробный поток вывода , который нельзя перенаправить в PowerShell v2.Эта функция была добавлена ​​в PowerShell v3.

Вы должны иметь возможность записывать стенограмму, хотя:

Start-Transcript $File -Append
Get-ChildItem $Path |
    Where-Object {$_.LastWriteTime -lt "4/17/2018 12:15:00 AM"} |
    Remove-Item -Verbose
Stop-Transcript
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...