REM This is a sample code by me to illustrate my question
@echo off
:test
Echo Welcome %username%!
set /p T=Enter your text here
echo %username% : %T% >>C:\Users\%username%\AppData\Local\Temp\xyz.txt
goto :test
以上是我的示例代码,可以帮助说明我的问题。
在上面的代码中,一旦用户输入消息并按下回车键,消息就会写入文件中,但用户可能会连续按下“输入”键。键会导致相同的消息返回到文件中。有什么方法可以防止这种情况发生吗?
谢谢!
答案 0 :(得分:1)
只需在set /p
按ENTER即可保持变量不变。所以你必须先清除它:
@echo off
:test
Echo Welcome %username%!
set "T="
set /p T=Enter your text here
echo %username% : %T% >>C:\Users\%username%\AppData\Local\Temp\xyz.txt
goto :test
如果您不想记录空条目,请使用Florians回答并替换
echo %username% : %T% ...
与
if not "%T%"=="" echo %username% : %T% ...
或
if defined T echo %username% : %T% ...
当然你也可以预定义其他内容,比如set T=user didn't enter text"
答案 1 :(得分:0)
if not "%T%"=="" echo %username% : %T% >> xyz.txt
更新:已删除()