我在SAS中的任务是通过带有扩展名tmp的SFTP上传文件,上传完成后将其重命名为csv。因为我不是服务器的管理员,所以我的调试输出是有限的,而且我正在努力实现正确的实现。下面的代码生成的SAS日志中没有错误,但不会重命名文件:SAS在SFTP上重命名文件
%let host=...;
%let sftpUser = ...;
%let filename_tmp=20160301-test01-sas.tmp;
%let filename=20160301-test01-sas.csv;
%let sftpPath=...;
FILENAME test SFTP "&sftpPath.&filename_tmp."
HOST="&host."
USER="&sftpUser."
DEBUG;
proc export data=.... outfile=test dbms=csv replace;
run;
data _null_;
rc=rename("test&sftpPath.&filename_tmp.", "test&sftpPath.&filename.", 'file');
run;
我已经阅读文件名的文件,并重新命名,但我坚持不下去了如何既语句组合一个线索 - 任何帮助或提示或替代方案非常感谢。
感谢 斯蒂芬
是否有一个原因,你不能在SFTP本地执行重命名? – floydn
你好floydn,是的,确实有一个。目标服务器上正在运行一个脚本,用于扫描csv文件并每分钟移动它们,因此存在在上载未完成时移动文件的危险。因此我想将它们作为tmp上传并在之后重命名。 –