【问题标题】:Remove all files older than the specified one删除所有早于指定文件的文件
【发布时间】:2017-06-18 21:17:15
【问题描述】:

我想删除所有最后写入日期早于当前文件的最后写入日期的 txt 扩展文件(00007.txt 是当前文件),但还没有找到方法

$a = (get-item C:\Users\Jimmy\Desktop\test\*.txt).lastwritetime

$b = (get-item C:\Users\Jimmy\Desktop\test\00007.txt).lastwritetime


while ($a[$i] -lt $b)
{
$i++
remove-item $a
}

【问题讨论】:

    标签: powershell


    【解决方案1】:

    我只会用 Get-ChildItem 枚举项目,用 Where-Object 过滤,然后直接通过管道传递给 Remove-Item:

    $b = (get-item C:\Users\Jimmy\Desktop\test\00007.txt).lastwritetime
    
    Get-ChildItem -Path C:\Users\Jimmy\Desktop\test\*.txt | Where-Object {
        $_.LastWriteTime -lt $b
    } | Remove-Item;
    

    【讨论】:

      【解决方案2】:

      短版

      $dt = (gi "C:\Users\Jimmy\Desktop\test\00007.txt").lastwritetime
      gci "C:\Users\Jimmy\Desktop\test\" -file -Filter "*.txt" | ? LastWriteTime -lt $dt | ri
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-07-28
        • 1970-01-01
        • 2013-05-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多