Out-File 写一个空文件

Out-File writes an empty file

我在一个运行 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
}

详细输出写入 verbose output stream,在 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