Powershell 如何计算本周修改的文件数?
我正在尝试计算一个目录中的文件,该目录的日期修改为本周从周一12:00:01到周日。我希望脚本在星期一上午12:00:01重置。我已经放弃了下面的例子几次,努力写我自己的,但这一个似乎是一个良好的开端 以下是我目前掌握的情况:Powershell 如何计算本周修改的文件数?,powershell,Powershell,我正在尝试计算一个目录中的文件,该目录的日期修改为本周从周一12:00:01到周日。我希望脚本在星期一上午12:00:01重置。我已经放弃了下面的例子几次,努力写我自己的,但这一个似乎是一个良好的开端 以下是我目前掌握的情况: $dow = "Monday" $today = (Get-Date).DayOfWeek $FolderResults = (Get-ChildItem -Path C:\Temp -Filter *.* | Where-Object { $_.
$dow = "Monday"
$today = (Get-Date).DayOfWeek
$FolderResults = (Get-ChildItem -Path C:\Temp -Filter *.* |
Where-Object {
$_.LastWriteTime.DayOfWeek -eq $dow -AND $_.LastWriteTime.DayOfWeek -eq $today
}).Count
状况
$_.LastWriteTime.DayOfWeek -eq $dow -AND $_.LastWriteTime.DayOfWeek -eq $today
将只提供在星期一修改的文件,并且仅当它实际上是星期一时
可以使用DayOfWeek属性的数值来计算时间范围
$today = (Get-Date).Date # current date, 0:00:00
$offset = ($today.DayOfWeek.value__ + 6) % 7 # number of days since Monday
$refdate = $today.AddDays(-$offset) # most recent Monday, 0:00:00
$num = Get-ChildItem -Path 'C:\Temp' -Filter *.* |
Where-Object { $_.LastWriteTime -gt $refdate } |
Measure-Object |
Select-Object -Expand Count
状况
$_.LastWriteTime.DayOfWeek -eq $dow -AND $_.LastWriteTime.DayOfWeek -eq $today
将只提供在星期一修改的文件,并且仅当它实际上是星期一时
可以使用DayOfWeek属性的数值来计算时间范围
$today = (Get-Date).Date # current date, 0:00:00
$offset = ($today.DayOfWeek.value__ + 6) % 7 # number of days since Monday
$refdate = $today.AddDays(-$offset) # most recent Monday, 0:00:00
$num = Get-ChildItem -Path 'C:\Temp' -Filter *.* |
Where-Object { $_.LastWriteTime -gt $refdate } |
Measure-Object |
Select-Object -Expand Count
DayOfWeek是一个枚举星期日=0,星期一=1,以此类推 您可以利用它来计算上周一的日期:
$LastMonday = ((Get-Date).AddDays(-(6 + (get-date).DayOfWeek) % 7)).date
然后:
DayOfWeek是一个枚举星期日=0,星期一=1,以此类推 您可以利用它来计算上周一的日期:
$LastMonday = ((Get-Date).AddDays(-(6 + (get-date).DayOfWeek) % 7)).date
然后:
+我打算在周一之前用Do/Until建议代码进行检查,但这要干净得多,我在Get Member上看到了value,但我不认为我可以这样使用它。+1打算在周一之前用Do/Until建议代码进行检查,但这要干净得多,我看到了Get Member的价值,但我认为我不能像那样使用它。。