2017-07-12 10 views
0

Windowsでgccを使用して開発している間に2倍になりました。私はscriptsを実行しました。これはUnixシステムでは、引数として100を超えるファイル名のリストを使用します他の多くのファイルのフォルダからそれらを選択するためのワイルドカード:Windowsでコマンドに複数のワイルドカードファイル名を渡す

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メニュー項目を作ることができる)

+1

バッチファイルの中で、 'FOR'コマンドを使ってフォルダ内のファイルのリストを取得します。 – Squashman

+0

@Squashmanここでは多くの関連する質問と答えを読んだことがありますが、ファイル名の単一行のリストを作成し、リスト全体を引数としてコマンドに渡す方法を理解することはできません – endolith

答えて

1

作品のこの種を、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 
関連する問題