我试图在PowerShell中编写一个脚本,将我的所有文件从一个站点复制到另一个站点。我试图通过同时只取这么多文件来降低成本。我想我会在Created Date上使用日期范围来做这件事。但我不能让它使用日期来过滤列表,也不能让它按创建的列表排序。以下是我尝试过的:
Get-PnPListItem -List $ListName -PageSize 500 | Where-object {$_.FieldValue.Created -GT [DateTime]'02/16/2015'}
Get-PnPListItem -List $ListName -PageSize 500 | where-object {($_.FileSystemObjectType -eq "File" -and $_.Created -gt [DateTime]'02/16/2015')}
Get-PnPListItem -List $ListName -PageSize 500 | where-object { $_.FileSystemObjectType -eq "File" -and $_['Created_x0020_Date'] -gt $Created }
$ListItems = $ListItems | Sort $_.Created # also tried $_['Created_x0020_Date']
如果我使用CAML查询,我总是得到超过列表视图阈值错误,即使在查询中定义。
有人能帮我弄明白吗?
$Query =
"<View>
<RowLimit Paged = 'TRUE'>100
<Query>
<Where>
<And>
<Geq>
<FieldRef Name='Created' />
<Value Type='DateTime'>2015-01-01T12:00:00Z</Value>
</Geq>
<Leq>
<FieldRef Name='Created' />
<Value Type='DateTime'>2015-01-30T12:00:00Z</Value>
</Leq>
</And>
</Where>
</Query>
</RowLimit>
</View>";
Get-PnPListItem -List $ListName -PageSize 500 -Query $Query
1条答案
按热度按时间62lalag41#
Fieldvalues是一个字典。你可以这样使用
Where-Object
。您甚至可以省略对日期时间的强制转换,因为LHS是日期时间