次のようなWindowsBATファイルがあります。
Z:
tool.exe c:\mypath\to\input c:\mypath\to\output \flag1 flag2
つまり、tool.exeはマップされたネットワークドライブに存在します。このツールでは、EXEを独自のディレクトリ(この場合はZ:)から実行する必要があります。
BATは、ダブルクリックまたはCMDウィンドウで実行すると正常に機能します。
Antで自動化したいのですが。私の試みはここにあります:
<target name="go">
<exec executable="cmd">
<arg value="/c"/>
<arg value="runtool.bat"/>
</exec>
</target>
動作しません。このリンクと他の調査から、私は次のことを理解しています。
- 「Z:」は「cdZ:」と同等である可能性があります
- 「cd.exe」はありません...「cd」はWindowsCMDシェルによって解釈され、「cmd.exe」からは使用できません。
そうは言っても、Antで目標を達成するにはどうすればよいでしょうか。Javaで?
私は自分のAntタスクを作成したり、ディレクトリのネットワーク構成をさらに行ったりすることを受け入れています(質問が広すぎるリスクを冒して、Jenkinsを使用しており、そこでもアイデアを受け入れています)。