SAS EG 4.1代码文件的路径

时间:2012-11-06 21:04:18

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

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

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

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

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

2 个答案:

答案 0 :(得分:4)

根据我的理解,

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

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

答案 1 :(得分:4)

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

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

这条路径似乎只有在它是apsolute时才有用。相对路径可能会起作用 我不知道相对于它的内容(相对于项目路径不起作用)。

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