处理一个简单的批处理程序,其中用户显示文本文件的内容,并可以将新字符串返回到文件的末尾。我的问题是,因为一个批处理文件显示内容,一个正在接收输入,当用户开始输入他们无法看到他们正在键入的内容时,因为文件的内容覆盖它。
@echo off
set target=log.txt
if not exist "%target%" Copy con "%target%"
start /b print.bat "%target%"
type con >> %target%
Echo ERROR!
pause
Exit /b
@echo off
if "%~1" equ "" (
cls
Echo ERROR print[0]: No parameter
pause
Exit /b
)
:loop
if not exist "%~1" (
Echo ERROR print[1]: Cannot find targetted file!
pause
Exit /b
)
cls
type "%~1"
sleep -m 50
goto loop
现在我知道批处理文件可以使用以下任一方式输入:
set /p
choice
type con
在上面的例子中,我使用type con
,并将其重定向到output.txt。但是我需要用户能够看到他们正在键入的内容,这对于控制台的连续输出流来说非常困难。
当然,如果我使用choice
命令并记录每次按键,我想出了输出到用户键入的用户键入的内容的想法。但是这有两个问题。首先,这将阻止我记录puntuation或otehr speacial字符,其次它不允许用户“返回”以附加消息或使用退格键。
这就是为什么我想知道是否有其他方法可以批量录制键盘输入,希望能够解决我的问题。
我知道pause
和xcopy /w
命令可以按一个键包括<Enter>
和<Backspace>
。
无论如何将此按键重定向到变量或文本文件?还有另一种方法吗?如果是的话,请告诉我。现在我可以轻松地在C#中执行此操作,但我想完全批量完成此项目。
再次感谢,Mona。