2016-10-27 3 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에서 사용하는 변수 이름 (입력 및 출력)에서 추측하고있다, 당신은 어떤 변수에 그 이름을 변경해야합니다 있도록 원래 배치 파일로 전달하려는 입력이 들어 있습니다. 또한 만이 ... VBScript로 될 것이라고 추측

편집 : 실제로 배치 파일에 인수를 전달하려고

<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> 

주 사람들을 위해 : 는 더 완전히 같은 것을 주석에 응답하려면 from HTA :
사용자가 이미 입력 한 내용을 배치 파일에 전달했다고 가정하면 (매개 변수가 위의 EXE에 전달 된 것처럼) set /p 줄이 필요하지 않습니다. 대신 배치 파일에서 입력 및 출력을 %1%2으로 참조합니다.

+0

어떻게 이것을 HTA에 추가하고 사용자 입력을위한 텍스트 상자가 있습니까 – user2071435

+0

https://technet.microsoft.com/en-us/library/ee692603.aspx는 단일 텍스트 상자를 추가하고 그 값을 검색하는 방법을 보여줍니다. 당신은 단지 두 가지를해야 할 것입니다. – 0x90h

+0

원본 답변과 위 링크의 예를 결합하여 답을 업데이트했습니다. 해당 응용 프로그램의 경로가 있다고 가정하고 * 작동해야합니다. – 0x90h