gpt4 book ai didi

powershell - 使用PowerShell仅在具有一定期限的名为OLD的子目录中查找文件

转载 作者:行者123 更新时间:2023-12-02 23:16:33 26 4
gpt4 key购买 nike

如何在包含多个OLD文件的目录树中获得文件的完整列表?

我只想查看名称为OLD的目录中具有一定期限的文件。

最佳答案

据我了解的问题,Raoul Supercopter's solution尚未完全回答。上面的解决方案不是从名为“OLD”的目录中查找所有文件,而是查找名称中包含“OLD”的所有文件。

取而代之的是,我认为您正在寻找某种东西来查找名为OLD的目录中所有早于特定日期的文件。

因此,要找到目录,我们需要以下内容:

dir -r | ? {$_.name -match "\bold\b" -and $_.PSIsContainer}

但是,您然后需要一些可以递归地遍历每个目录并找到文件的文件(以及可能包含在其他名为“OLD”的目录中的名为“OLD”的任何目录)。

最简单的方法是编写一个函数,然后递归调用它,但这是一种在另一行上采用不同策略的方法(请注意行继续符,这样很适合:
dir -r | ? {!$_.PSIsContainer -and $_.LastWriteTime -lt (Get-Date 5/1/2006)} `
| ? {(% {$_.directoryname} | split-path -leaf) -eq "OLD"}

那么,这是怎么回事?

第一部分只是一个基本的递归目录 list 。下一节将检查以确保您正在查看文件( !$_.PSIsContainer)并且该文件符合您的年龄要求。 Get-Date部分的括号使您可以获取运行命令的结果。然后,我们获取每个文件的目录名称,并使用split-path cmdlet仅获取最近目录的名称。如果那是“OLD”,那么我们有一个符合您要求的文件。

关于powershell - 使用PowerShell仅在具有一定期限的名为OLD的子目录中查找文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2680881/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com