0

ここで助けが必要です: 次のスクリプトを変更して、スクリプトがファイルではなくサブディレクトリ内のフォルダーのみを削除するようにする必要があります。誰でも私を助けることができますか?

$path = "C:\test\1"
$keep = 3
$strLogFileName   = "c:\test\yourlogfile.log";

function Log-Message
 {
   Param ([string]$logtext)
   Add-content $strLogFileName -value $logtext
 }

  $dirs = Get-ChildItem -Path $path -Recurse | Where-Object {$_.PsIsContainer}
  foreach ($dir in $dirs) {
  $files = Get-ChildItem -Path $dir.FullName | Where-Object {-not $_.PsIsContainer -and $_.name -      like "*.zip"}
  if ($files.Count -gt $keep) {
    $files | Sort-Object CreationTime -desc| Select-Object -First ($files.Count - $keep) | 
    % { $dt=get-date;(Log-Message "Deleting File $_  on  $dt");$_ }| Remove-Item -Force 

  }

}

4

1 に答える 1