用 unamed pipe,下面是我以前写的一段,用来扫描某文件夹里所有的xml文件,然后批量读取:
- filename indata pipe "dir d:\sas\xml /b";
- data vname;
- length fname $20.;
- infile indata truncover;
- input fname $20.;
- call symput ('nvars',_n_);
- run;
- %macro want;
- %do i=1 %to &nvars.;
- data _null_;
- set vname;
- if _n_=&i;
- call symput ('file',fname);
- run;
- data tmp;
- infile "d:\sas\xml\&file." firstobs=2;
- input x y z;
- run;
- proc datasets;
- append base=want data=tmp;
- quit;
- %end;
- %mend;
- %want
复制代码