0

有没有办法从命令提示符删除 Livelink(确切地说是 OpenText Content Server 10)中的文件?

我应该删除超过 7000 个文档,因此手动执行会很慢。我可以从 SQL Server 生成对象 ID,理想情况下会在命令行上以编程方式一个接一个地运行删除调用。

4

2 回答 2

0

你有很多选择,但不是来自 CMD。

  1. 如果您有权访问数据库,则可以将项目 parentId 更改为公共文件夹,然后删除该文件夹。直接玩 DB 时要小心。
  2. 如果您熟悉编码,则可以构建 LAPI 应用程序。
  3. 如果您有 Web 服务,您可以使用自定义应用程序或 JMeter、SoapUI 等程序来删除所有文档。
  4. 使用 LL Explorer 删除它们

……

这取决于您必须执行此作业多少次。

于 2017-07-05T14:51:16.277 回答
0

当然,您可以编写一个控制台应用程序来删除 LiveLink 中的文件。您可以使用 LiveLink API (LAPI):

    public static bool DeleteLLObject( int iNodeID, int iVolumeID)
    {
        try
        {               
            LLSession mySession = new LLSession(strHost, iPort, string.Empty, strUser, strPwd);
            LAPI_DOCUMENTS lapiDoc = new LAPI_DOCUMENTS(mySession);

            int iResult = lapiDoc.DeleteObject(iVolumeID, iNodeID);
            if (iResult != 0)
            {
                string strErrMsg = mySession.getErrMsg();
                throw new Exception(strErrMsg);
            }
        }
       catch (Exception ex)
       {
            var strMsg = string.Format("The object cannot be deleted due to the reason:\n\n{0}", ex.Message);
            Console.Out.WriteLine(strMsg);
            return false;
       }
       return true;
   }      

很难使用此代码一次删除多个文件,因为您需要识别并输入每个文件的节点 ID 和卷 ID。

最好使用 LiveLink Explorer(如前所述)或第三方工具,如 LiveLink 的 DMS-Shuttle。有 15 天的试用期: http: //dms-shuttle.com/downloads/。我正在为供应商工作。

于 2018-03-25T14:44:05.123 回答