2016-10-27 18 views
1

バッチファイルを使用するHTAを作成する場合、ユーザーがテキストボックスを入力すると、データがバッチファイルに渡されます。*バッチファイルのユーザー入力変数を持つ.HTA

私のバッチファイルは次のとおりです。

//batch 
@ECHO OFF 
CD "h:\tools\ffmpeg\bin" 
set /p input="Enter input file: " 
set /p output="Enter output file: " 
ffmpeg.exe -i %input% %output% 

私はバッチファイルにHTAからの入力と出力を渡したい

set /p input="enter input" 
set /p output="enter output" 

%input% %output% 
+0

http://www.dostips.com/forum/viewtopic.php?t=6581 – Squashman

+0

「感じる」とは、「埋める」という意味ですか? –

答えて

0

かなり確信して、あなたは、バッチファイルを使用する必要はありませんこれのためにすべて。

このような何か作業をする必要があります:

Set Shell = CreateObject("WScript.Shell") 
Shell.run "h:\tools\ffmpeg\bin\ffmpeg.exe -i " & Input & " " & Output 

注意を - 私はちょうどあなたがHTAで使用している変数名(入力と出力)で推測しています、あなたはどのような変数にそれらの名前を変更する必要がありますので、最初にバッチファイルに渡したいと思っていた入力が含まれています。実際にはバッチファイルに引数を渡すしようとしている人々のための

<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:\tools\ffmpeg\bin\ffmpeg.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> 

注:、より完全にこのような何かをコメントに答えるために :まただけ...それはVBScriptでなることを

EDITを推測from HTA:
ユーザーからの入力を既に受けていると仮定すると、(パラメータが上記のEXEに渡されたように)バッチファイルに渡すことができますが、set /p行は必要ありません。代わりに、入力と出力をバッチファイルで%1%2と参照します。

+0

これをHTAに追加し、ユーザー入力用のテキストボックスをどのようにしたらいいですか – user2071435

+0

https://technet.microsoft.com/en-us/library/ee692603.aspxは、単一のテキストボックスを追加してその値を取得する方法を示しています。あなたは2つだけする必要があります。 – 0x90h

+0

元の回答と上記のリンクの例を組み合わせた例を示すように答えを更新しました。そのアプリケーションへのパスが存在すると仮定して*動作するはずです。 – 0x90h

関連する問題