Powershellはかなり新しくなっていますが、定義済みのCreated Dateより古いファイルや特定のファイルタイプを除外するスクリプトをまとめています。しかし、私は冗長とファイルロギング出力の両方を組み込むのに苦労しています。私はオンラインで見つかった様々な方法を試してきましたが、Out-Fileが最も適切だと思いますが、私は単にそれを動作させることはできません。誰かが助けてくれると願っています!Powershell(PS2)logging Remove-Item
Set-StrictMode -Version Latest
# $Logfile = "C:\Temp\Log.log"
function Remove-Files([parameter(Mandatory=$true)][ValidateScript({Test-Path $_})][string] $Path, [parameter(Mandatory=$true)][DateTime] $DateTime, [switch] $WhatIf)
{
Get-ChildItem -Path $Path -Recurse -Force | Where-Object { !$_.PSIsContainer -and $_.CreationTime -lt $DateTime -and ($_.Name -notlike "*.txt"-and $_.Name -notlike "*.log")} |
# Out-File -filepath $logfile -append
ForEach-Object { Remove-Item -Path $_.FullName -Force -WhatIf:$WhatIf}
}
Remove-Files -Path "C:\Temp" -DateTime ((Get-Date).AddDays(-10)) # -whatif
'Tee- Object'コマンドレットは、出力を2方向にリダイレクトします。出力をファイルまたは変数に格納し、パイプラインに送ります。 – JosefZ