楼主: 小鳄鱼a
3939 17

计算某个文件夹下文件的数目 [推广有奖]

11
sniperhgy 发表于 2015-10-20 15:23:10
楼主你好,请试试我的代码:
  1. filename txtfile pipe 'dir /B /A-D "C:\Users\Administrator\示例\*.txt" 2>nul | find /V /C ""';
  2. filename xlsxfile pipe 'dir /B /A-D "C:\Users\Administrator\示例\*.xlsx" 2>nul | find /V /C ""';
  3. filename afile pipe 'dir /B /A-D "C:\Users\Administrator\示例\a*.*" 2>nul | find /V /C ""';

  4. data txt_file_count;
  5.   length  txt_file_count 8 xlsx_file_count 8 a_file_count 8;
  6.   infile txtfile truncover;
  7.   input txt_file_count best8.;
  8.   infile xlsxfile truncover;
  9.   input xlsx_file_count best8.;
  10.   infile afile truncover;
  11.   input a_file_count best8.;
  12.   put txt_file_count xlsx_file_count a_file_count;
  13. run;
复制代码


其中文件夹内容为:
文件夹内容

代码得到的结果为 3 2 4

12
小鳄鱼a 发表于 2015-10-20 15:37:46
sniperhgy 发表于 2015-10-20 15:23
楼主你好,请试试我的代码:
这个怎么回事啊

ERROR: 文件名“TXTFILE”的逻辑分配不存在。
NOTE: INFILE XLSXFILE 是:
      未命名的管道访问设备,
      PROCESS=dir /B /A-D "C:\Users\Administrator\Desktop\粘贴word_芐雨\*.docx" 2>nul | find /V /C "",
      RECFM=V,LRECL=32767

ERROR: 文件名“AFILE”的逻辑分配不存在。

13
sniperhgy 发表于 2015-10-20 15:43:55
小鳄鱼a 发表于 2015-10-20 15:37
这个怎么回事啊

ERROR: 文件名“TXTFILE”的逻辑分配不存在。
请让我看看你完整的代码,只言片语可看不出问题啊。

14
小鳄鱼a 发表于 2015-10-20 16:00:17
sniperhgy 发表于 2015-10-20 15:43
请让我看看你完整的代码,只言片语可看不出问题啊。
filename xlsxfile pipe 'dir /B /A-D "C:\Users\Administrator\Desktop\粘贴word_芐雨\*.docx" 2>nul | find /V /C ""';


data txt_file_count;
  length  txt_file_count 8 xlsx_file_count 8 a_file_count 8;
  infile txtfile truncover;
  input txt_file_count best8.;
  infile xlsxfile truncover;
  input xlsx_file_count best8.;
  infile afile truncover;
  input a_file_count best8.;
  put txt_file_count xlsx_file_count a_file_count;
run;

15
小鳄鱼a 发表于 2015-10-20 16:02:35
sniperhgy 发表于 2015-10-20 15:43
请让我看看你完整的代码,只言片语可看不出问题啊。
filename xlsxfile pipe 'dir /B /A-D "C:\Users\Administrator\Desktop\粘贴word_芐雨\*.xlsx" 2>nul | find /V /C ""';


data txt_file_count;
  length  txt_file_count 8 xlsx_file_count 8 a_file_count 8;
  infile txtfile truncover;
  input txt_file_count best8.;
  infile xlsxfile truncover;
  input xlsx_file_count best8.;
  infile afile truncover;
  input a_file_count best8.;
  put txt_file_count xlsx_file_count a_file_count;
run;

16
小鳄鱼a 发表于 2015-10-20 16:03:56
sniperhgy 发表于 2015-10-20 15:43
请让我看看你完整的代码,只言片语可看不出问题啊。
ERROR: 文件名“TXTFILE”的逻辑分配不存在。
NOTE: INFILE XLSXFILE 是:
      未命名的管道访问设备,
      PROCESS=dir /B /A-D "C:\Users\Administrator\Desktop\粘贴word_芐雨\*.xlsx" 2>nul | find /V /C "",
      RECFM=V,LRECL=32767

ERROR: 文件名“AFILE”的逻辑分配不存在。
NOTE: 从 INFILE XLSXFILE 中读取了 0 条记录。
NOTE: 由于出错,SAS 系统停止处理该步。
WARNING: 数据集 WORK.TXT_FILE_COUNT 可能不完整。该步停止时,共有 0 个观测和 3 个变量。
NOTE: “DATA 语句”所用时间(总处理时间):
      实际时间          0.08 秒
      CPU 时间          0.01 秒

17
小鳄鱼a 发表于 2015-10-20 16:23:10
sniperhgy 发表于 2015-10-17 08:44
只写了一个xlsxfile的filename,没有写afile和txtfile的,所以就会出错啊。
那个data部的infile语句要和 ...
非常感谢

18
sniperhgy 发表于 2015-10-20 16:30:11
小鳄鱼a 发表于 2015-10-20 16:23
非常感谢
不客气,共同提高。^_^
也谢谢你的论坛币

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

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