处理来自键盘和显示输出的Windows命令提示输入,并将其重定向到文件?

时间:2016-07-27 12:01:35

标签: windows batch-file cmd stdin tee

虽然我可以找到一些相关的问题,例如 Displaying Windows command prompt output and redirecting it to a file How do I echo and send console output to a file in a bat script? ,但我无法解决我的问题。我正在使用Windows XP并使用批处理文件运行一些脚本,该文件使用STDIN和STDOUT句柄。

基本上,我想保存命令提示符的日志文件。这可以通过批处理文件中的“echo>> log.txt”实现。但是,这不会保存由于脚本文件而生成的输出。所以我尝试将cmd提示符作为D:> file.bat>“dir_path / log.txt”。同样,此命令将STDOUT保存到指定位置的log.txt。由于我需要获得一些用户输入,即使用STDIN句柄,除了将命令提示的输出保存在单独的文件中之外,我该如何实现呢?

2 个答案:

答案 0 :(得分: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

答案 1 :(得分: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