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 に答える