I used SAS to create 60,000 flexMIRT syntax files for a simulation study. Now I need to compile those file names into a single csv batch file. I've created the batch macro below but I keep overwriting the batch file instead of amending it as I try and loop through the file names. I think I need to create a DO loop within the batch macro. The batch file should look like: C:\Users\KMarino\300_10_0.11_10_1.flexmirt C:\Users\KMarino\300_10_0.11_10_2.flexmirt C:\Users\KMarino\300_10_0.11_10_3.flexmirt ...... C:\Users\KMarino\300_10_0.11_10_250.flexmirt ..... C:\Users\KMarino\1000_10_0.11_10_1.flexmirt ..... C:\Users\KMarino\300_10_0.11_10_250.flexmirt How can I modify the macro below to appropriately compile all the files? %MACRO batch(I=, ss=, cl=, bv=, it=, rep=); DATA _NULL_; FILE "C:\Users\KMarino\Dropbox\Dissertation\Data Generation\For Dissertation\SAS Control Files\flexMIRTsim.BATRUN.csv"; PUT #&I @1 "C:\Users\KMarino\&ss._&cl._&bv._&it._&rep..flexMIRT" ; RUN; %mend batch; data _null_; DO ss=300, 1000, 5000; DO cl=10, 60, 100, 150; DO it=10, 20, 50, 70; DO BV=0.053, 0.11, 0.25, 0.43, 1.00 DO it=10, 20, 50, 70; Do rep=1 to 250; _N_+1; call execute (catt('%batch (I='|| put(_N_+1,2.)||', ss=', ss ,', cl=', cl ,', bv=',bv,', it=',it,', rep=',rep,')')) ; end; end; end; end; end; end; run;
... View more