楼主: changgz
2116 1

[原创博文] 如何读取某个文件夹下的所有文件 [推广有奖]

  • 2关注
  • 27粉丝

讲师版主

已卖:40份资源

讲师

13%

还不是VIP/贵宾

-

威望
0
论坛币
749999 个
通用积分
15.3027
学术水平
59 点
热心指数
57 点
信用等级
50 点
经验
3913 点
帖子
122
精华
2
在线时间
417 小时
注册时间
2013-10-28
最后登录
2025-8-10

楼主
changgz 发表于 2013-12-29 15:00:24 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
假设d:\vfpdbf\dbase 下面有上百份DBF格式的文件,当然,如果是XLS活CSV格式,做适当调整就可以了。
一下是我之前一直使用的:
x "DIR d:\vfpdbf\dbase *.DBF /b >E:\list";
%macro daoru(name) ;                                 
PROC IMPORT OUT= WORK.&name                        
            DATAFILE= "d:\vfpdbf\dbase\&name..DBF"              
            DBMS=DBF REPLACE;
     GETDELETED=NO;
RUN;
%mend;
data _null_;
        infile "E:\list";
        input str:$100.;
        call execute(compress('%daoru('||scan(str,1,'.')||');'));
run;      

以下是赛诺菲Sanofi-Aventis 的李友老师提供的程序,可以读取文件下中所有子文件夹中的数据:
%macro mReadfolder;
%let filrf=mydir;
%let rc=%sysfunc(filename(filrf,"D:\Management\ACTIME"));  
%let did=%sysfunc(dopen(&filrf));  
%let lstname=;  
%let memcount=%sysfunc(dnum(&did));  
%if &memcount > 0 %then  
%do i=1 %to &memcount;  
%let lstname=%sysfunc(dread(&did,&i));
  proc import out=a
  datafile= "D:\Management\ACTIME\&lstname"
  dbms=excel2000 replace;
  run;
%end;
%let rc=%sysfunc(dclose(&did));
%mend mReadfolder;
%mReadfolder;


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:文件夹 Management Managemen compress filename 文件夹 如何

沙发
q220066 发表于 2013-12-29 15:25:03
大婶大婶大婶

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-31 23:37