Parameters are passed to a bat file through a list format, I believe the delimiter can either be a comma or a space. Then you capture the argument based on it's position in the parameter list with a % in front of it (%1,%2,%3...). The following code below will ping yahoo.com and tek-tips.com and output the results to the screen.
=== START TEST.BAT FILE EXAMPLE ===
REM Ping 2 websites
ping %1
ping %2
=== END TEST.BAT FILE EXAMPLE ===
=== START CF CODE EXAMPLE ===
[COLOR=000080]<pre>[/color]
<cfset strFile = "c:\test.bat">
<cfexecute name="#variables.strFile#"
arguments="www.yahoo.com,www.tek-tips.com"
timeout="10"/>
[COLOR=000080]</pre>[/color]
=== END CF CODE EXAMPLE ===
One suggestion I would make, if you are dealing with modification of files in the bat file, I strongly suggest using a <CFLOCK> around the <CFEXECUTE> tag.
<cfset strFile = "c:\test.bat">
<cfset LockName = ToBase64(LCase(strFile))>
<cflock name="#LockName#" type="exclusive"
timeout="10">
<cfexecute name="#variables.strFile#"
arguments="www.yahoo.com,www.tek-tips.com"
timeout="10"/>
</cflock> - tleish