簡體   English   中英

在Windows中將多個通配符文件名傳遞給命令

[英]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.

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