Ciao SE,
Ho bisogno di scrivere una riga di JSL che faccia quello che dovrebbe fare questa riga:
open("smb://jmpsmd.na.sas.com/E/Data/etl code/JMP DataMart 3/GOBUCKS.txt")
Vale a dire, aprire un file che vive su un server Cary.
Il codice deve funzionare su Windows e Mac.
Il codice deve funzionare per le persone in Cary e per i dipendenti remoti. (Si presume che la persona possa accedervi tramite VPN, qualunque cosa.) È bene che l'utente riceva le credenziali.
Ho anche provato con% 20 invece di spazi, che non ha funzionato. So che è ridicolmente semplice, ma non lo scoprirò per caso - ci ho già provato 
Qualche idea? Come bonus, quando eseguo il codice sopra, il mio Mac antepone la directory locale al percorso (regalo di Natale?), Che NON voglio nemmeno io.
Il percorso che il Mac vuole che io usi, cioè quello che ottengo quando uso pickdirectory () per identificare la cartella, è
"/ Volumes / E / Data / etl code / JMP DataMart 3 /".
Questo è completamente fuori questione, poiché non è possibile aspettarsi che gli utenti si connettano al server da soli, prima che questo codice venga eseguito.
Grazie per eventuali suggerimenti !!
Saluti,
Brady
Michael Hecht ha fornito una soluzione; dopo averlo letto non mi sentivo così male da non averlo capito. È sotto.
GRAZIE, Michael !!
-Brady
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" ));