How to Copy a file with SAS?

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

  • FOPENExternal 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="">FGET</a> and FPUT – 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');

    do while(fread(filein)=0);
        rc=fget(filein, rec, 1);
        rc=fput(fileid, rec);

filename in clear;
filename out clear;


Every week we'll send you SAS tips and in-depth tutorials


Subhro Kar is an Analyst with over five years of experience. As a programmer specializing in SAS (Statistical Analysis System), Subhro also offers tutorials and guides on how to approach the coding language. His website, 9to5sas, offers students and new programmers useful easy-to-grasp resources to help them understand the fundamentals of SAS. Through this website, he shares his passion for programming while giving back to up-and-coming programmers in the field. Subhro’s mission is to offer quality tips, tricks, and lessons that give SAS beginners the skills they need to succeed.