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

Windows批处理脚本中的通配符*,windows,scripting,sas,Windows,Scripting,Sas,我想使用*通配符列出我的Windows目录中的所有sas程序文件。于是我发出了命令 dir*.sas 但当我这样做时,该命令还将列出所有sas数据集以及目录,因为它们分别有扩展名.sas7bdat和.sas7bcat。如何限制dir命令仅列出sas程序文件?谢谢。这里有一个类似的问题 该线程的答案是,您无法更改行为。提出了两种解决办法: 切换到使用powershell而不是cmd.exe 添加一个步骤以过滤dir命令的结果 如果您在SAS中执行此操作,则可以使用以下程序: data want

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

这里有一个类似的问题

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

  • 切换到使用powershell而不是cmd.exe
  • 添加一个步骤以过滤dir命令的结果
如果您在SAS中执行此操作,则可以使用以下程序:

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

谢谢这是一个有趣的方法,当我在SAS本身。其他时候,我将尝试使用powershell。