2016-07-27 2 views
0

Displaying Windows command prompt output and redirecting it to a fileHow do I echo and send console output to a file in a bat script?과 같은 관련 질문을 찾을 수는 없지만 문제를 해결할 수 없습니다. Windows   XP에서 작업 중이며 STDIN 및 STDOUT 핸들을 사용하는 배치 파일을 사용하여 몇 가지 스크립트를 실행하고 있습니다.키보드에서 Windows 명령 프롬프트 입력을 처리하고 출력을 표시하고 파일로 리디렉션합니까?

기본적으로 명령 프롬프트의 로그 파일을 저장하려고합니다. 이는 배치 파일의 "echo >> log.txt"를 사용하여 가능합니다. 그러나 이것은 스크립트 파일의 결과로 생성 된 출력을 저장하지 않습니다. 그래서 나는 cmd 프롬프트에서 D :> file.bat> "dir_path/log.txt"로 시도했다. 다시,이 명령은 STDOUT을 log.txt에 지정된 위치에 저장합니다. STDIN 핸들을 사용하려면 몇 가지 사용자 입력이 필요하므로 명령 프롬프트의 출력을 별도의 파일에 저장하는 것 외에 어떻게 처리합니까?

+0

나는이 [기사]를 사용했습니다 (https://blogs.msdn.microsoft.com/toub/2006/05/03/low-level-mouse-hook-in-c/) 만들 수 있습니다 [this] (https://github.com/npocmaka/batch.scripts/blob/master/hybrids/.net/c/mouseSniffer.bat). 참고로 사용할 수 있으며 [저수준 키보드 훅] (https://blogs.msdn.microsoft.com/toub/2006/05/03/low-level-keyboard-hook-in-c/) 키 로거를 만드십시오. – npocmaka

답변

0

대답은 간단하다 :

@echo off 
    set /p answ1=Get user input1 
    set /p answ2=Get User input2 
    echo %answ1% and %answ2%>>log.txt 
    notepad log.txt 
    set /p "var=<log.txt" 
    type log.txt 
0

당신이 파일에 .bat 파일을 리디렉션 경우에도 수 >con으로 화면에 출력.

test.bat >test.out과 함께 다음 스크립트를 실행하십시오. 화면에 입력하라는 메시지가 나타납니다.

timeout -t 2 
>con set /p "var1=Prompt1: " 
ipconfig 
>con set /p "var2=Prompt2: " 
echo %var1% %var2% 
>con echo %var1% %var2% 
exit /b 
관련 문제