powershell - Powershell .addDays()
问题描述
我正在编写一个脚本来检查文件是否超过一年。我收到一个错误 Not Icomparable。我不知道如何解决这个问题,我很困惑。$文件
$myDate = Get-Date
$path = $args[0]
$files = Get-ChildItem -Path $path -recurse
foreach($file in $files){
if($file -gt $myDate.addDays(-365)){
Write-Host "Found One"
}
}```
解决方案
您需要在循环之前获取文件。您还需要告诉 PowerShell 您要比较文件的日期,以及创建、修改等的日期。此时您说“如果此 FileInfo 对象小于该日期”,这就是您的原因重新收到该错误(根据 mklement0 的评论,FileInfo 未实现 IComparable)
$files = Get-ChildItem -Path $args[0]
foreach ($file in $files) {
if( $file.LastWriteTime -lt $myDate.addDays(-365)) {
Write-Host "Found One: $($file.Name)"
}
}
使用args[0]
是不好的做法。改用命名参数
Param (
$Path
)
$myDate = Get-Date
$files = Get-ChildItem -Path $Path
...
文档。
Get-ChildItem - 如果您想包含子目录,请更改参数。
FileInfo - 这是您可以访问的内容$files
推荐阅读
- sql - 从架构中删除除 SQL 中的特定表之外的所有表?
- fonts - Pygame字体碰撞
- r - 根据海平面高度值计算地转速度
- youtube-api - 空订阅者列表,而频道订阅者计数不为零
- jquery - 如何更改函数 jquery 中的字体颜色?
- python - 当我想提取文本时,.XML 文件太大
- python - 如何将 Feasopt 与 docplex python api 一起使用?
- firebase - Firebase:如何在多个部署目标之间共享托管配置
- http2 - http/2 - 在服务器上启用,但网站以 http/1.1 交付
- python - 如何让我在 python 中的数字显示为 $?