0

我正在设置当前正在编写一个脚本,该脚本将删除超过 700 天的文件。脚本的那部分工作正常。我已经对其进行了测试,并且可以正常工作。我现在的任务是留下一个名为“已删除文件的名称”的文本文件,其中详细说明了如何联系服务台请求恢复文件。我不知道该怎么做。那么你能帮帮我吗?

这是我的删除脚本:

foreach ($path in Get-Content "pathList.txt") {
    Write-Host "Trying to delete files older than 700 days, in the folder $path" -ForegroundColor Green
    Get-ChildItem $path -Recurse -Include "*.*" | 
        WHERE {($_.CreationTime -le $(Get-Date).AddDays(-700))} | 
            Remove-Item -Force
}
4

1 回答 1

2

为此,您需要进行管道传输,ForEach-Object以便有机会为您删除的每个文件制作所需的文本文件。

Get-ChildItem $path -Recurse -Include "*.*" | 
    WHERE {($_.CreationTime -le $(Get-Date).AddDays(-700))} | 
        ForEach-Object {
            $text_file = [io.path]::ChangeExtension($_, 'txt')
            "Call help desk blah blah" | sc $text_file -Encoding ascii
            $_ | Remove-Item -Force
        }
于 2013-07-26T08:58:42.987 回答