在PCFILES服务器上使用SAS X Command

我有一些SAS代码写入Excel工作簿中的特定工作表。 其他工作表具有公式,看起来这张表,所以工作簿基本上是一个模板,当我的代码运行时填充。

我希望能够多次运行代码,并且每次运行时都会得到不同版本的模板。 我想最简单的方法来实现这是写出来的模板,然后使用x命令或其他东西复制工作簿,然后重命名它。

SAS是在Linux服务器上,我使用一个PC文件服务器来写入Excel。 如何设置x命令复制文件并在远程服务器上更改其名称?

对不起,迟到的答案,但我只是遇到了这个自己,可以提供一个解决scheme。

你能通过Windows访问sas服务器上的文件吗(SMB共享或类似的)? 这是最简单的方法。 如果你不能,在Linux上设置Samba通常是非常容易的。

首先,将excel模板存储在SAS服务器上,从windows计算机上可以看到(使用PC文件服务器)。

假设文件位于SAS服务器的“/home/files/template.xlsx”中,并且该目录在Windows服务器上以“\ linuxservername \ files \ template.xlsx”(或\ 192.168.1.5 \ files \ template.xlsx如果您使用IP地址)

现在你只需要使用SMBpath的PCFILES的东西和本地Linuxpath的X命令。 就像是

 x 'cp /home/files/template.xlsx /home/files/output.xlsx'; libname output PCFILES path='\\linuxservername\files\template.xlsx' server='PCFilesServerName' port=1234; 

请注意,当向PCFiles提供path时,使用networking地址(因为您的Windows机器必须能够读取和写入),并且在发出复制命令时使用本地地址。

根据您的系统configuration,您也可以使用networkingpath。 当我尝试它时,我无法工作,因为Unix服务器不喜欢它(它共享SMB文件夹,但不知道如何从命令行访问它)。