首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Powershell -时间是否在时间范围内?

Powershell -时间是否在时间范围内?
EN

Stack Overflow用户
提问于 2020-05-07 21:41:05
回答 2查看 33关注 0票数 0

我正在运行一个运行亚马逊网络服务S3备份的Powershell脚本。我需要找出当前时间是否在时间范围内。如果在中午12点到下午1点之间的时间$CurrRun = 'NoonBackup‘

EN

回答 2

Stack Overflow用户

发布于 2020-05-08 05:30:07

这里有一种方法可以确定文件是否在特定的小时范围内最后一次写入。测试会忽略日期,因此如果需要的话,您需要更新代码。

它的作用是..。

  • 创建要使用的常量
  • 获取要使用的文件

在我的系统上,此时[0]文件的LWT小时=12p1200小时。[-1]文件将LWT小时设置为5p 1700小时。

  • 检查LWT小时是否在所需的范围内

  • 如果在,则将其写入屏幕

你会把你的"what to do if yes“代码放在那里。grin

  • 如果不是,它会写一条警告消息

代码..。

代码语言:javascript
运行
复制
$SourceDir = $env:TEMP
$Filter = '*.log'
$TargetHourRange = 12..13

# on my system right now ...
#    the [0] file has "LastWriteTime" set to "12:33 PM"
#    the [-1] file has "LastWriteTime" set to "5:28 PM"
$1stFile = (Get-ChildItem -LiteralPath $SourceDir -Filter $Filter -File)[0]

if ($1stFile.LastWriteTime.Hour -in $TargetHourRange)
    {
    'The LastWriteTime [ {0} ] of the file is in the required range [ {1} ].' -f $1stFile.LastWriteTime, "$TargetHourRange"
    }
    else
    {
    Write-Warning (    '{0} is out of range.' -f $1stFile.LastWriteTime)
    }

输出1200小时文件...

代码语言:javascript
运行
复制
The LastWriteTime [ 2020-04-21 12:33:51 PM ] of the file is in the required range [ 12 13 ].

输出1700小时文件...

代码语言:javascript
运行
复制
WARNING: 2020-04-27 5:28:48 PM is out of range.
票数 0
EN

Stack Overflow用户

发布于 2020-05-08 06:56:56

谢谢你的意见,李。问题是如何知道脚本是在12:30还是11:30调用的。所以为了安全起见,我想确认一下时间是不是在中午12点到1点之间。结果比我预期的要容易得多,因为我所需要的是24小时格式(HH)的12点。12小时格式为(hh)。

$CurrRun = 'NightBackup‘$CurrHour = Get-Date -Format HH if ($CurrHour -eq 12 ) {$CurrRun = 'NoonBackup'}

$CurrRun

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61659271

复制
相关文章

相似问题

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