Here is an example of a code that you can use to copy a file with SAS. It copies the content byte-by-byte so it can be used to copy any file, even pictures! This will work on both Unix and Windows and it’s great for copying files from your SAS session to a place outside of SAS, or vice versa.
Functions used to copy files
FOPEN
– External file function to read an external file.FREAD
– This function reads records bit by bit record from an external file into the File Data Buffer (FDB).<a href="https://documentation.sas.com/?cdcId=pgmsascdc&cdcVersion=9.4_3.5&docsetId=lefunctionsref&docsetTarget=p1a70mpbj2usaln1r9z4qldliexk.htm&locale=en">FGET</a>
andFPUT
– These two functions are used to copy data from the File Data Buffer (FDB) into a variable and to move data to FDB, respectively.FWRITE
– This function is used to write a record from the FDB to an external file.
filename in "/home/examples/data.txt";
filename out "/home/examples/copy.txt";
data _null_;
length filein 8 fileid 8;
filein=fopen('in', 'I', 1, 'B');
fileid=fopen('out', 'O', 1, 'B');
rec='20'x;
do while(fread(filein)=0);
rc=fget(filein, rec, 1);
rc=fput(fileid, rec);
rc=fwrite(fileid);
end;
rc=fclose(filein);
rc=fclose(fileid);
run;
filename in clear;
filename out clear;