[英]Passing multiple wildcard filenames to a command in Windows
現在在Windows上使用gcc進行開發的過程中,我兩次遇到了供Unix系統使用的perl 腳本 ,該系統以> 100個文件名列表作為參數,我需要使用通配符來創建這些文件,以從許多其他文件的文件夾中選擇它們:
perl avstack.pl */*.o
perl egypt *.expand
但是Windows不會進行通配符擴展,因此命令本身是必需的。 如何編寫批處理腳本以獲取文件名列表並將其傳遞給程序? 例如:
avstack.bat */*.o
egypt.bat *.expand
或者,由於每個批處理文件都知道文件擴展名,因此可以使用文件夾名稱來調用它:
avstack.bat "C:\path\with\some_o_files"
egypt.bat "D:\path\with\some_expand_files"
(實際上,文件夾方法可能會更好,因為我可以創建一個拖放快捷方式或SendTo菜單項。)
基於https://superuser.com/a/460648/13889的此類作品:
@echo off
cd "%~1"
set expanded_list=
for %%f in (*.expand) do call set expanded_list=%%expanded_list%% "%%f"
perl egypt %expanded_list% > egypt-output.txt
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.