小编Fab*_*ian的帖子

使用 powershell 从 Outlook 获取今天的约会:不需要的结果

我使用以下代码提取今天的约会:

$olFolderCalendar = 9
$ol = New-Object -ComObject Outlook.Application
$ns = $ol.GetNamespace('MAPI')
$Start = (Get-Date).AddDays(-1).ToShortDateString() + " 00:00"
$End = (Get-Date).AddDays(+1).ToShortDateString() + " 00:00"

$Filter = "[MessageClass]='IPM.Appointment' AND [Start] > '$Start' AND [End] < '$End'"

$Appointments = $ns.GetDefaultFolder($olFolderCalendar).Items
$Appointments.Sort("[Start]")
$Appointments.IncludeRecurrences = $false

foreach ($Appointment in $Appointments.Restrict($Filter) ) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

列出了今天的所有约会,但也列出了今天没有发生的许多重复约会(生日、每周约会……)。知道如何避免这种情况吗?

编辑:似乎所有这些不需要的约会最初都是从我的手机同步到 Outlook 的。我将在“干净”的电脑上尝试该脚本。

编辑:我在另一台没有同步元素的电脑上尝试了该脚本,结果是一样的:所有重复出现的元素都会显示,无论它们是否是今天。AND [IsRecurring] = '$False' 也没有帮助。

powershell outlook

6
推荐指数
1
解决办法
9071
查看次数

Javascript:通过包含方法来过滤数组

通过将自定义函数传递给filter方法,可以在 Javascript 中过滤数组:

const bigArray = [1, 2, 3, 4, 5, 6, 7, 8, 9];
const filteredArray = bigArray.filter(item => item < 5);
Run Code Online (Sandbox Code Playgroud)

也可以将函数作为“引用”传递:

function largerThanFive(item) {
  return item => item < 5;
}

const bigArray = [1, 2, 3, 4, 5, 6, 7, 8, 9];
const filteredArray = bigArray.filter(largerThanFive);
Run Code Online (Sandbox Code Playgroud)

我尝试使用它通过以下方式将两个数组相交:

const bigArray = [1, 2, 3, 4, 5, 6, 7, 8, 9];
const smallArray = [0, 1, 2];
const filteredArray = bigArray.filter(smallArray.includes);
Run Code Online (Sandbox Code Playgroud)

但我收到错误: TypeError: Cannot convert undefined …

javascript arrays built-in

2
推荐指数
1
解决办法
333
查看次数

标签 统计

arrays ×1

built-in ×1

javascript ×1

outlook ×1

powershell ×1