Windows批处理脚本中的通配符*

时间:2018-08-17 18:32:15

标签: windows scripting sas

我想使用*通配符列出Windows目录中的所有sas程序文件。因此,我发出命令      dir * .sas 但是,当我这样做时,该命令还将列出所有sas数据集以及目录,因为它们分别具有扩展名.sas7bdat和.sas7bcat。如何限制dir命令仅列出sas程序文件?谢谢。

1 个答案:

答案 0 :(得分:0)

这里有一个类似的问题。 https://superuser.com/questions/825615/windows-wildcards-with-files-having-more-than-3-characters-extensions

该线程的答案是您无法更改行为。提出了两种解决方案:

  • 切换为使用Powershell代替cmd.exe
  • 添加一个步骤来过滤dir命令的结果。

如果您在SAS中进行操作,则可以使用如下程序:

data want ;
   infile 'dir /b *.sas' pipe truncover ;
   input filename $200. ;
   if lowcase(scan(filename,-1,'.'))='sas' ;
run;