2011-12-09 96 views
1

我有一个powershell脚本,它从csv文件导入数据,然后将其上传到列表中。检查SPListItem是否已经存在

工作正常,但是如果该项目已经存在,例如,如果该项目已经导入,该脚本仍然运行并将所有相同的数据再次添加为单独项目。

有没有办法让脚本来检查,如果该项目在列表中已经存在,如果存在,更新项目,如不及时补充项目

我有2个脚本,增加和更新,我只需要知道如何添加如果else语句

就像如果存在,否则 - 从批处理脚本世界

回答

1

语句做一个CAML查询来获取项目” ID

<Query><Where><Eq><FieldRef Name=\"YourField\" /><Value Type=\"Text\">" + YourCode+ "</Value></Eq></Where></Query> 

然后询问它是否为“ows_ID”属性,如果它为null,或者什么也不是,那么添加该项目,否则,使用批量更新来更新您的项目。

+0

不知道我明白了,我得到了2个独立的powershell脚本,现在我只需要检查物品是否存在,然后让其中一个运行取决于物品是否存在 – Casper

+0

好吧,让我们喘口气;)你使用CAML查询吗?如果不是,不用担心,请看看这篇非常棒的文章,它解释了如何使用CAML查询和PowerShell脚本:http://get-powershell.com/post/2008/12/05/SharePoint-CAML-and-PowerShell .aspx没关系,你不需要删除你的PS脚本;)只需要学习如何混合这些工具。 – ricardordz

+0

我没有使用CAML查询之前,生病了看它:)谢谢很多:D – Casper