powershell - 如何在 Windows PowerShell 脚本中使用早于 90 天的创建日期时间来获取文件计数?
问题描述
我需要从包含多个子文件夹的整个目录中获取早于 90 天的文件数。我尝试了下面的脚本,但没有运气。
dir Z:\EDI\ |
? {$_.CreationTime -ge (Get-Date).AddDays(-90) -and !$_.PsIsContainer} |
group {$_.CreationTime.ToShortDateString()} |
select Name, Count
解决方案
这是获取信息的另一种方式。[咧嘴笑]
它使用日期数学来获取以天为单位的年龄,并将其与允许的最大值进行比较。然后它把它放在一个自定义对象中,以后可以使用它来获取详细信息。
$MaxAgeInDays = 90
$Today = (Get-Date).Date
$SourceDir = $env:TEMP
$TooOldFileList = Get-ChildItem -LiteralPath $SourceDir -File -Recurse |
Where-Object {($Today - $_.CreationTime).Days -ge $MaxAgeInDays} |
Sort-Object CreationTime |
ForEach-Object {
[PSCustomObject]@{
AgeInDays = ($Today - $_.CreationTime).Days
FileName = $_.FullName
}
}
$OldestFile = $TooOldFileList |
Select-Object -First 1
''
'Max allowed age in days = {0, 5}' -f $MaxAgeInDays
'Number of too-old files = {0, 5}' -f $TooOldFileList.Count
'Oldest file age in days = {0, 5}' -f $OldestFile.AgeInDays
'Oldest file name = {0}' -f $OldestFile.FileName
输出 ...
Max allowed age in days = 90
Number of too-old files = 296
Oldest file age in days = 1136
Oldest file name = C:\Temp\FXSAPIDebugLogFile.txt
推荐阅读
- javascript - 如何将 blob 存储在另一个位置,即。/uploads/audio/currenttime.wav?
- rgraph - 为什么 RGraph 标签不显示?
- python - BDH 公式不采用外部变量
- python - 同一轴上的多个散点图
- wordpress - 在 Wordpress 中保存帖子时出现 504(不在暂存中)
- python - Python - PermissionError: [WinError 32] 该进程无法访问该文件,因为它正被另一个进程使用:
- reactjs - React Native - 如何启用调试样式/ UI 检查器?
- php - Mpdf没有在PHP中输出多个具有相同名称的输入
- laravel - [Vue 警告]:编译模板时出错:无效表达式:意外令牌 >
- docker - 如何防止 Docker 构建创建新步骤?