首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PowerShell中日期在命令中的比较

问PowerShell中日期在命令中的比较
EN

Stack Overflow用户
提问于 2018-02-16 15:55:02
回答 2查看 113关注 0票数 0

我正在使用get子项来获取文件,我想获取上次修改日期/创建日期与今天日期匹配的文件

代码语言:javascript
复制
PS E:\> Get-Childitem –Path 'E:\utility\sysout' -Include *DBA_M_MNT_BACKUP_system* -File -Recurse -ErrorAction SilentlyContinue

输出iam正在获取

代码语言:javascript
复制
    Directory: E:\utility\sysout


Mode                LastWriteTime     Length Name
----                -------------     ------ ----
-a---         2/16/2018   2:00 AM       4709 TEDM_DBA_M_MNT_BACKUP_System_Databases_021620180200AM.txt

我想看看上次写入时间,我想要日期与当前日期匹配,如get-date.day get-date.month get-date.year,我需要单独拾取,是否有方法可以直接将上次写入时间(仅日期)与当前日期进行比较,并仅当日期与当前日期匹配时才给出命令输出

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-02-16 16:04:34

是的,确实有一种方法。你在找这样的东西吗-

代码语言:javascript
复制
$File = Get-Childitem –Path 'E:\utility\sysout' -Include *DBA_M_MNT_BACKUP_system* -File -Recurse -ErrorAction SilentlyContinue
$timediff = (Get-Date) - $File.LastWriteTime

您可以使用$timediff.Days、$timediff.Hours等访问时间差。当您只获得一个文件作为输出时,上述方法有效。但是如果你在$File中获得了多个文件,那么你可能想要像$File[0].LastWriteTime,$File[1].LastWriteTime,$File[2].LastWriteTime等一样使用它,或者你可以简单地使用一个Foreach循环,根据你的需求,任何适合你的循环。

票数 1
EN

Stack Overflow用户

发布于 2018-02-16 16:03:48

代码

代码语言:javascript
复制
Get-ChildItem -Path C:\temp |
    Where-Object {
        $_.LastWriteTime -ge ((Get-Date).Date) -and
        $_.LastWriteTime -lt ((Get-Date).Date).AddDays(+1)
    }

这是怎么回事?

它会查看LastWriteTime是否大于今天的"start of“和明天的"start of”,其中"start of“是00:00:00的时间

插图

代码语言:javascript
复制
Write-Host (Get-Date)
Write-Host (Get-Date).Date
Write-Host ((Get-Date).Date).AddDays(+1)

结果

代码语言:javascript
复制
16/02/2018 08:03:08
16/02/2018 00:00:00
17/02/2018 00:00:00
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48822345

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档