虽然我可以找到一些相关的问题,例如 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句柄,除了将命令提示的输出保存在单独的文件中之外,我该如何实现呢?
答案 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