如何指定FileNet批量导入工具的目标文件夹?
解决FileNet BulkImport工具上传文件默认到“Unfiled Documents”的问题
你遇到的问题很典型——bulkimport.jar默认会把未指定文件夹的文档丢到“Unfiled Documents”,而CEBI.cfg里的Folders Filed In属性确实是只读的,因为这是FileNet后端自动维护的关联属性,不能直接在配置文件里赋值。下面给你两种可行的解决办法:
方法一:通过导入元数据文件指定目标文件夹
这是最常用的官方方案,不需要改代码:
- 准备导入用的CSV或XML元数据文件,新增一列(CSV)或字段(XML)来存储目标文件夹的路径或GUID
- 打开CEBI.cfg,找到
[DocumentAttributes]配置段,添加一行映射:
比如你的CSV里列名叫Folders = 你的元数据列名TargetFolderPath,就写Folders = TargetFolderPath - 元数据里的路径要写对象存储下的完整路径,比如
/MyObjectStore/部门文档/2024归档;用GUID更稳定,格式是{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx},可以从FileNet Enterprise Manager里复制文件夹的ID
方法二:修改bulkimport源码(如果有权限)
如果你的场景需要固定目标文件夹,不想每次改元数据,可以修改工具的Java代码:
- 找到创建文档实例的代码段,在保存文档前,先通过路径或GUID获取目标文件夹对象:
Folder targetFolder = Factory.Folder.fetchInstance(os, "/MyObjectStore/固定目标文件夹", null); - 然后把文档关联到这个文件夹:
doc.folders().add(targetFolder); - 重新编译打包成
bulkimport.jar即可
注意事项
- 确认运行工具的账号对目标文件夹有添加文档的权限,否则会上传失败
- 文件夹路径区分大小写,要和FileNet里的实际路径完全一致
- CSV文件建议用UTF-8编码,避免路径里的中文或特殊字符识别错误
内容的提问来源于stack exchange,提问作者Atef Magdy
相关产品推荐
相关产品推荐

