簡體   English   中英

Windows批處理腳本中的通配符*

[英]Wildcard * in a Windows Batch Script

我想使用*通配符列出Windows目錄中的所有sas程序文件。 因此,我發出命令dir * .sas,但是當我這樣做時,該命令還將列出所有sas數據集和目錄,因為它們分別具有擴展名.sas7bdat和.sas7bcat。 如何限制dir命令僅列出sas程序文件? 謝謝。

這里有一個類似的問題。 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;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM