ColdFusion cfexecuteでbatファイルを起動するには

2012.02.07

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

表題の通りですが、namazuのインデックスファイルを作ろうと思って特に何も気にせず、cfexecuteタグでbatファイルを起動してみたのですが、なんにも変化がなかったので、ちょっと調べてみました。

以下が何も考えずに記述した状態

<cfexecute name="C:\namazu\bin\mknmz.bat" arguments="-a -O C:\namazu\var\namazu\index\cm C:\inetpub\wwwroot\simple\text></cfexecute>

さすがグーグル先生ちょっと調べると同じ問題で悩んでる人が出てきましたwという事でちょっと上記のコードを書き換えてみます。

<cfset batchfilename = "C:\namazu\bin\mknmz.bat"> 
<cfset variousParameters = "-a -O C:\namazu\var\namazu\index\cm C:\inetpub\wwwroot\simple\text">
<cfset errorfilename = "c:\temp\test_bat_error.txt">

<cfexecute name="C:\Windows\system32\cmd.exe" arguments="/C #batchfilename# #variousParameters#" errorFile="#errorfilename#"></cfexecute>

なるほど、cmd.exeでbatファイルを引数にして起動すればいいだけのことでした。