批处理 - 防止输入密钥垃圾邮件

时间:2016-06-28 07:13:40

标签: batch-file spam

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

以上是我的示例代码,可以帮助说明我的问题。

在上面的代码中,一旦用户输入消息并按下回车键,消息就会写入文件中,但用户可能会连续按下“输入”键。键会导致相同的消息返回到文件中。有什么方法可以防止这种情况发生吗?

谢谢!

2 个答案:

答案 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

更新:已删除()