命令中PowerShell中的日期比较
我正在使用get-child项获取文件,我想获取上次修改日期/创建日期与今天日期匹配的文件命令中PowerShell中的日期比较,powershell,Powershell,我正在使用get-child项获取文件,我想获取上次修改日期/创建日期与今天日期匹配的文件 PS E:\> Get-Childitem –Path 'E:\utility\sysout' -Include *DBA_M_MNT_BACKUP_system* -File -Recurse -ErrorAction SilentlyContinue 我得到的输出 Directory: E:\utility\sysout Mode LastWriteT
PS E:\> Get-Childitem –Path 'E:\utility\sysout' -Include *DBA_M_MNT_BACKUP_system* -File -Recurse -ErrorAction SilentlyContinue
我得到的输出
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
我希望查看lastwritetime我希望日期与当前日期匹配
比如get date.day
get date.month
get date.year
我需要单独选择是否可以直接比较lastwritetime(仅日期)和当前日期
并且仅当日期与当前日期匹配时才给出命令的输出
这是怎么回事?
它可以查看LastWriteTime
是否大于今天的“开始时间”,以及明天的“开始时间”,其中“开始时间”是00:00:00
插图
后果
是的,确实有办法。你在找这样的东西吗-
$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
循环,根据您的需求,任何适合您的都可以。我之所以使用这种方法,是因为我想比较年、月和日期,而不必花费时间$File=Get Childitem–路径“E:\utility\sysout”-Include DBA\u M\n\u BACKUP\u system-File-Recurse-error action SilentlyContinue$timediffyear=(Get date).year-$File.LastWriteTime.year$timediffmonth=(获取日期)。month-$File.LastWriteTime.month写入主机$timediff写入主机$timediffmonth,对于月份的时差,它不显示任何内容。如果LastWriteTime与当前日期匹配,我只想显示文件名,否则错误<代码>(获取日期)。month-($File.LastWriteTime).Month应返回月差。如果没有差异,它将返回0
。$File=Get Childitem–路径'E:\utility\sysout'-Include DBA\u MNT\u BACKUP\u system-File-Recurse-ErrorAction SilentlyContinue$timediffyear=(Get Date).year-$File.LastWriteTime.year$timediffmonth=(Get Date).month-($File.LastWriteTime).month write host$timediff write host$timediff month output PS E:\>E:\utility\example.ps1 0未显示月差最终得到答案did time diff并选中$File=Get Childitem–路径“E:\utility\sysout”-Include DBA\u M\n tu BACKUP\u system-File-Recurse-ErrorAction SilentlyContinue$timediffyear=(获取日期).year-$File.LastWriteTime.year$timediffmonth=(获取日期)。month-($File.LastWriteTime)。month$timediffday=(获取日期)。day-($File.LastWriteTime)。day写入主机$timediffyear写入主机$timediffmonth写入主机$timediffday
Write-Host (Get-Date)
Write-Host (Get-Date).Date
Write-Host ((Get-Date).Date).AddDays(+1)
16/02/2018 08:03:08
16/02/2018 00:00:00
17/02/2018 00:00:00
$File = Get-Childitem –Path 'E:\utility\sysout' -Include *DBA_M_MNT_BACKUP_system* -File -Recurse -ErrorAction SilentlyContinue
$timediff = (Get-Date) - $File.LastWriteTime