使用SAS将文件从windows复制到linux,而无需修改文件时间戳



我想将excel文件从windows复制到Linux系统,并需要捕获文件的最后修改日期。

我们无法从窗口获取文件的最后修改日期。

由于我使用以下代码将文件从Windows复制到Linux,因此code可以将文件传输到Linux系统,但一旦运行代码,文件的时间戳就会发生变化。有没有任何方法可以在不修改文件时间戳的情况下将文件从windows复制到linux。请帮忙。

%smb_init(username=**MYID**, password=%str(**password**), domain=**aa.aaa.com**);
%smb_load();
%smb_pull(windows=//files/Load/Test/Folder1/PIC Alerts/ABC Alerts.xlsx,
linux=/sasdata/test_files/folder2/ABC_Alerts.xlsx);

如果您想在保留属性的同时复制文件,请在SAS中启用X命令,并让操作系统处理复制文件。启用后,只需使用一个内置的Linux文件复制命令(如rsync(即可。

例如,这将复制数据、属性和时间戳:

rsync -av //source/mydata.xlsx /dest/mydata.xlsx

一旦你确认它按预期工作,你就可以将它构建到你的SAS程序中,并将其传递给Linux:

x 'rsync -av //source/mydata.xlsx /dest/mydata.xlsx';

自动宏变量&sysrc会告诉您它是否成功。值为0表示成功。非零表示故障。

最新更新