Powershell脚本扫描目录名称,如果名称中包含的日期超过3个月,则删除它们

时间:2017-04-06 09:21:20

标签: powershell date automation

您好

正如我之前在标题中所说,我想制作一个剧本:

  1. 仅扫描目录
  2. 扫描目录名称(ABC_20170504_12H03)并仅提取日期(20170504)。
  3. 将之前提取的日期与实际日期减去3个月进行比较。
  4. 如果文件夹名称中包含的日期超过3个月,请删除目录。
  5. 问题是我刚开始学习PowerShell,这是我使用这种语言的第一个任务。我有点失落,我真的很感激一些帮助。

    谢谢。

1 个答案:

答案 0 :(得分:0)

Get-ChildItem -Path "C:\path" -Recurse | Where-Object { $_.PsIsContainer } | ForEach-Object {
if((Get-Date).AddMonths(-3) -gt [DateTime]::ParseExact($_.Name.Split("_")[1], "yyyyddMM", $null)) {
    Remove-Item -Path $_.FullName -WhatIf
  }         
}