私はよく、さまざまなシェル スクリプトを使用してログ/レポート ファイルを作成します。これは問題ありませんが、ほとんどの場合、コンテンツを簡単に確認するだけで済みます。通常は、同じ日または最大 1 週間後です。
私がやりたいのは、ファイルに期限切れのフラグを立てることができるようにすることです。そのため、一定の期間が経過すると、ファイルは削除されるか、アーカイブ ディレクトリに移動されます。
ファイルの作成を制御できるので、.SEF などの特定の拡張子を付けて、ハード ドライブのディレクトリを定期的に解析するサービスを作成することもできますが、これは少し面倒です。
カスタムファイル属性も調べました:
http://social.msdn.microsoft.com/Forums/en/netfxbcl/thread/173ab6de-3cd8-448f-8c42-de9d2240b913
しかし、ファイル属性をファイルに追加するには、何かを書く必要があります。したがって、Powershell/SFU または同様の場合:
cat JobOutput.txt | grep -e Error | expire > report.txt
または単純な古いウィンドウ:
type JobOutput.txt | findstr Error | expire > report.txt
誰かがこのようなリモートで何かをしましたか?
編集:
上で説明したことは、私がやりたいことのほんの一面です。たとえば、制限時間内に応答する必要があり、その後削除される電子メールを送信する場合があります。
もう 1 つの例は、一定期間後に使用したくない一時的なシステム回避策の詳細を記載したドキュメントをリリースする場合です。
もちろん、さまざまなアプリケーションの気まぐれに夢中になっていますが、カスタムファイル属性のアイデアは有望で魅力的に見えました. もちろん問題は、それらが各ファイルタイプにどのように適用されるかということです...
今のところ、私が最初に提起した質問に基づいてこれを閉じて喜んでいます。その場合、スケジュールされたジョブによってクリアされるカスタム拡張を定義できます。
解決:
OK、私はそれにかなり慣れているので、Powershellソリューションを(少し調整して)使用することにしました:
$HowManyDays = 15
$LastWrite = (Get-Date).AddDays(-$HowManyDays)
Get-ChildItem -recurse -include *.sef |
Where {$_.LastWriteTime -le "$LastWrite"} |
Remove-Item
これについてのあなたの助けに感謝します。