我们有一个 SharePoint 服务器,我们正在寻找在部分站点上编写提取脚本。
要求是他们有一个可以有多个子文件夹的站点。然后文件将被提取到一个文件夹中。
我进行了一些挖掘并发现以下示例可以将文件提取到单个文件夹中:
XCOPY“\sharepointsvr\部门\图书馆\”.DOC C:\TMP /S /Y XCOPY “\sharepointsvr\Dept\Library\”.DOCX C:\TMP /S /Y 或
对于 /R "\sharepointsvr\Dept\Library\" %i IN (*.DOC) DO xcopy %i C:\TMP /M
我正在考虑使用命令脚本将其作为服务器上的计划任务运行。上述脚本会将文件和子文件夹转储到一个文件夹中(这也是他们所希望的)
我的问题如下。
有没有办法从命令提示符中判断文件是否已签出?
如果可以,是否可以跳过?
如果没有,是否有更好的方法来实现“签入文件”的数据提取?
谢谢你的任何想法。
答案1
如果您想考虑签出的文件,从命令行执行此操作可能不是一个选择。
这意味着您将不得不使用 SharePoint API 来转储文件。有一个名为 codeplex 项目SPIE文件夹这会让您接近目标。它缺少您需要的 2 个功能,但如果您有任何 .Net 编码经验(或认识有此类经验的人),这应该是一个非常简单的更改。您的情况中的 2 个限制是:
- 它使用与原始库相同的文件夹结构转储文件
- 它会转储所有内容(包括签出的项目),因此您必须添加检查
另一个优点是,如果您的列表/项目很大,使用 API 执行操作会更快。