2012-08-28 10 views
3

추가 작업을 수행하려면 "y/n"사용자 입력이 필요한 배치 파일을 실행하려고합니다. 나는이 배치 파일을 자동화를 위해 호출하고 싶다. 예를 들면, 자동화 매개 변수가 사용자 개입없이 전달 될 필요가있다. setup.bat가 실행되는 경우배치 파일에 입력하지 않고 사용자 입력하는 방법

cmd /c setup.bat 

지금 "예 또는 아니오"로 지금이 setup.bat이 자동화 과정이라고 원하는 결과 를 얻기 위해 선택 할 필요가 없습니다. "yes"매개 변수를 setup.bat의 입력으로 전달할 여지가 있습니까?

+0

어느 부분을 자동화하고자하는의 압박 "y/n"을 요청 하시겠습니까? –

답변

4

<과 같은 스트림 연산자를 사용할 수 있습니다. 예상 답변을 한 줄에 하나씩 파일에 작성하십시오 (예 : foi). < 연산자를 사용하여 SETUP.BAT이 파일을 전달합니다 명령 줄 아래

cmd /c setup.bat < foi 
4

사용합니다 (ENTER 키를 포함합니다) y 키 입력을 시뮬레이션하여 "예"대답을 자동화 할 수 있습니다.

cmd /c echo y^> "%temp%\answer.tmp" ^& (setup.bat ^< "%temp%\answer.tmp") ^& del "%temp%\answer.tmp" 

n 키와 ENTER 키를 시뮬레이트하여 "아니오"대답을 자동화하십시오.

cmd /c echo yes^> "%temp%\answer.tmp" ^& (setup.bat ^< "%temp%\answer.tmp") ^& del "%temp%\answer.tmp" 

키 다음 ENTER을 "NO"키 입력을 시뮬레이션하지가 "NO"대답을 자동화하지 않으려면 :

cmd /c echo n^> "%temp%\answer.tmp" ^& (setup.bat ^< "%temp%\answer.tmp") ^& del "%temp%\answer.tmp" 

키 다음 ENTER을 "예"키 입력을 시뮬레이션하여 "예"대답을 자동화하는

cmd /c echo no^> "%temp%\answer.tmp" ^& (setup.bat ^< "%temp%\answer.tmp") ^& del "%temp%\answer.tmp" 
0

여기서 가장 간단한 해결책은 cmd와 함께 파이프를 사용하는 것입니다. (| : 하나의 명령에서 출력을 읽고이를 i에 씁니다. 다른 명령의 입력. 또한 .. 당신은 이처럼 ) 파이프로 알려진

cmd /c echo Y | setup.bat 
Y가 프롬프트 입력을 할 것이다

, 사용하고 당신이 SETUP.BAT 파일의

관련 문제