渡された値を使用してリモートサーバー上にmysqlデータベースを作成することを目的とした次のスクリプトがあります。
set arg1=\\192.168.0.254\e$\Program Files\MySQL\MySQL Server 5.5\bin
set arg2=192.168.0.254
set arg3=%1
echo %arg1%
echo %arg2%
echo %arg3%
pushd %arg1%
mysql -uignite -h %arg2% -p***** -e "CREATE DATABASE %arg3%"
pause
arg3、つまりMYDatabaseNameに値を配置すると、スクリプトが実行され、次のColdFusionコードを使用してスクリプトを呼び出すWebページから正常に実行されます。
<cfexecute name="E:\Domains\ignite.flinthosts.co.uk\wwwroot\domains\processes\database\MySQL\AddDatabase.cmd"
arguments="'MyDatabaseName'">
</cfexecute>
しかし、そこに%1(つまり、変数のホルダー)を保持すると、それを取得してデータベースを作成するようには見えません。
正しい構文を使用して変数をファイルに渡しますか?