繁体   English   中英

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

[英]Handle Windows command prompt input from keyboard and display output and also redirecting it to a file?

尽管我可以找到一些相关的问题,例如“ 显示Windows命令提示符输出并将其重定向到文件”,以及如何在bat脚本中回显并将控制台输出发送到文件? ,我无法解决问题。 我在Windows XP上工作,并使用使用STDIN和STDOUT句柄的批处理文件运行一些脚本。

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

答案很简单:

    @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

即使将.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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM