【问题标题】:SAS EG 4.1 path to code fileSAS EG 4.1 代码文件的路径
【发布时间】:2012-11-06 21:04:18
【问题描述】:

我使用的是 SAS Enterprise Guide 4.1,我的项目包含大量代码。 该代码组织在外部 .sas 文件中,主要是因为 .egp 文件是二进制文件,并且 纯文本 .sas 文件与 git 配合使用效果更好。

问题是 SAS EG 4.1 使用绝对路径来引用外部 .sas 文件,所以 将项目移动到不同的 PC 会破坏对代码文件的引用(除非另一个 PC 使用相同的目录结构)。

有没有办法强制 SAS EG 4.1 使用相对路径(似乎 SAS EG 4.3 使用 相对路径,但升级不是一个选项)。如果没有,至少有一个聪明的方法来 轻松移动项目?

现在,每次我必须移动项目时,我都会将代码嵌入到项目中(这会破坏版本控制)。另一种方法是从项目中删除所有引用并重新添加它们(这是很多工作)。

【问题讨论】:

    标签: sas relative-path absolute-path enterprise-guide


    【解决方案1】:

    据我了解,EGP 文件只是 zip 文件。所以你应该有几种方法来解决这个问题。对我来说最简单的似乎是使用 git 对 zip 文件中的文件进行版本控制。因此,将 .egp 文件解压缩到一个文件夹并对该文件夹进行版本控制。当您想返回时,压缩文件夹,然后将其名称更改为 .egp

    应该有一些方法可以在事后修改包含 .egp 文件中的路径的文件,但我对 .egp 文件还不够熟悉。

    【讨论】:

    • 感谢 zip 存档提示,我会调查一下。我想避免嵌入文件,因为我经常在多个项目中重复使用它们。
    【解决方案2】:

    所以 EGP 文件只是 zip 档案。 在存档中有一个名为“project.xml”的文件,其中包含如下(子)节点:

    <CodeTask>
      <IncludeWrapper>True</IncludeWrapper> 
      <Embedded>False</Embedded> 
      <LinkedOpenName>D:\some\path\to\program.sas</LinkedOpenName> 
    </CodeTask>
    

    这条路似乎只有在绝对可靠的情况下才有效。相对路径可能有效,但 我不知道相对于该放什么(相对于项目路径不起作用)。

    但是现在我可以编写一个简单的脚本来在项目被移动后通过这个 xml 文件 并更新路径(我将 .sas 文件保存在与 .egp 文件相同的目录中,所以这应该不是问题)。

    【讨论】:

      猜你喜欢
      • 2023-03-11
      • 1970-01-01
      • 2013-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多