打开驻留在 Cary 服务器上的文件。嗨,SE们,
我需要写一行 JSL 来完成这行应该做的事情:
open("smb://jmpsmd.na.sas.com/E/Data/etl code/JMP DataMart 3/GOBUCKS.txt")
即,打开位于 Cary 服务器上的文件。
该代码必须适用于 Windows 和 Mac。
该代码必须适用于 Cary 的人员和远程员工。 (假设此人可以通过 VPN 访问这些,无论如何。)用户收到凭据提示是可以的。
我还尝试使用 %20 而不是空格,但没有用。 我知道这非常简单,但我不会偶然发现它——我已经尝试过 
有任何想法吗? 作为奖励,当我运行上面的代码时,我的 Mac 将本地目录添加到路径(圣诞礼物?)之前,我也不希望这样做。
mac 要我使用的路径,即使用 pickdirectory() 识别文件夹时得到的路径是
“/Volumes/E/Data/etl code/JMP DataMart 3/”。
这是完全不可能的,因为在执行此代码之前,不能期望用户自行连接到服务器。
感谢您的任何建议!
干杯,
布雷迪
回复:打开驻留在 Cary 服务器上的文件。Michael Hecht 提供了一个解决方案;读完之后,我并没有因为没有弄清楚这一点而感到难过。 它在下面。
谢谢你,迈克尔!
-布雷迪
mount = Function({server}, {Default Local},
If( Host Is( Mac ),
Run Program( Executable( "/usr/bin/osascript" ),
Options( { "-e", Eval Insert( "mount volume \!"smb://^server^\!"" )}),
Read Function( "text" ));
server = Concat Items( Remove( Words( server, "/" ), 1 ), "/" );
Eval Insert( "/Volumes/^server^" );
,
Eval Insert( "\!\\!\^server^" )
)
);
users = mount( "jmpsrv01.na.sas.com/Users" );
Files In Directory( Eval Insert( "^users^/Drake" ));