Pretty sure you don't need to use a batch file at all for this.
Something like this should work:
Set Shell = CreateObject("WScript.Shell") Shell.run "h: oolsffmpeginffmpeg.exe -i " & Input & " " & Output
Note - I am just guessing at the variable names (Input and Output) you are using in the HTA, so you will have to rename those to whatever the variables are that contain the inputs you originally wanted to pass through to the batch file. Also only guessing that it will be in VBScript...
EDIT: To answer the comment more completely, something like this:
<html> <head> <title>HTA Test</title> <HTA:APPLICATION ID="objTest" APPLICATIONNAME="HTATest" SCROLL="yes" SINGLEINSTANCE="yes" > </head> <SCRIPT LANGUAGE="VBScript"> Sub TestSub Set Shell = CreateObject("WScript.Shell") Shell.run "h: oolsffmpeginffmpeg.exe -i "& InputTextbox.Value & " " & OutputTextbox.Value End Sub </SCRIPT> <body> Input : <input type="text" name="InputTextbox" size="30"><P> Output: <input type="text" name="OutputTextbox" size="30"><P> <input id=runbutton type="button" value="Run Script" name="run_button" onClick="TestSub"> </body>
Note for people actually trying to pass arguments to a batch file from HTA:
Assuming you've taken input from the user already you can pass it to the batch file (just like the parameters are passed to the EXE above), but you wouldn't need the
set /p lines. Instead you would reference input and output as
%2 in the batch file.