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.
It uses the FOPEN – External file function to read an external file.
The FREAD function reads records bit by bit record from an external file into the File Data Buffer (FDB).
The FGET and FPUT function is used to copy data from the File Data Buffer (FDB) into a variable and to move data to FDB, respectively.
FWRITE 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;