gpt4 book ai didi

SAS:将当前文件夹设置为包含正在运行的程序的文件夹

转载 作者:行者123 更新时间:2023-12-04 20:14:01 26 4
gpt4 key购买 nike

我刚刚开始学习 SAS,因为我需要将它用于统计类(class)。对于本类(class),该大学通过他们的虚拟机设置提供 SAS 9.2:我在他们的系统中进行预订,他们在其中一台服务器上生成 VM,然后我使用 Microsoft 的远程桌面客户端连接到 VM。每个 session 生成和删除虚拟机;每次都会重置设置,并且文件必须存储在我的客户端计算机上(可以通过 UNC 路径在 VM 中访问)。

在此设置中,当我打开存储在笔记本电脑上的程序文件时,我只能通过硬编码完整路径或更新“当前文件夹”在每个 session 开始时设置。第一个是有问题的,因为这意味着该程序不会在其他任何地方运行 - 特别是当我通过电子邮件将其发送给教授时。第二个是不方便的,因为浏览到这个特定的 UNC 路径非常耗时,而且我已经必须浏览到相同的路径才能打开程序文件。

我想通过以编程方式将当前文件夹设置为包含该程序的文件夹来简化此操作。然后我可以打开文件并开始工作。我发现了一些 getting the filename of the program file 的例子, getting the path to a fileref , and of (link limit exceeded) 设置当前文件夹,但我无法以正确的方式组合它们。请为我连接点。

最佳答案

要以编程方式从 SAS 更改 Windows 当前目录,您可以使用 X命令,这是使用“更改当前文件夹”对话框时真正发生的情况:

x 'cd "\\computername\share name\folder"';

您也可以使用 SYSTEM数据步进函数,我更喜欢一种方法,因为您会得到一个返回码(但当然要输入更多):
data _null_;
rc = system( 'cd "\\computername\share name\folder"' );
if rc = 0
then putlog 'Command successful';
else putlog 'Command failed';
run;

请注意,UNC 路径用双引号括起来,如果路径包含空格,这是必需的。

当然,这仍然需要您手动输入命令,但它可能是您可以添加到程序源代码中的内容。如果您的 VM 环境允许您在服务器上保持某些永久存在,则可以将此命令保存到启动文件中。

我想请教你的教授;如果您正在使用作为类(class)的一部分提供给您的数据,您可能只需要发送源代码。另一方面,如果您将创建输出数据作为作业的一部分,您的教授可能希望您提供源代码和 SAS 数据集。他或她肯定会有一些程序。

关于SAS:将当前文件夹设置为包含正在运行的程序的文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14409689/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com