将多个单词与文件进行回应会使其崩溃。 (BATCH)

时间:2015-11-21 01:53:36

标签: batch-file crash words

所以我正在批量创建一个Mail程序,我遇到了消息传递部分的问题。 消息传递部分是无限循环。 当我键入多个单词时,它会崩溃。 这是代码。请帮助!

:rep
set line=
set /p line=
if %line% == end set end= 1
if %line% == end echo. >>"\\FAMILY-PC\Users\Public\HailDatabase\HailMail\Accounts\%send%\%msgname%".MAIL
if %line% == end set line= From, %user%
echo %line% >>"\\FAMILY-PC\Users\Public\HailDatabase\HailMail\Accounts\%send%\%msgname%".MAIL
if %end% == 1 goto msgdone
goto rep

1 个答案:

答案 0 :(得分:0)

您需要引用基本上所有内容以保留%line%中的空格。此外,if语句可以==周围留出空格,因为批处理会将这些空格解释为要比较的字符串的一部分,并且您将始终得到错误的结果

:rep
set "line="
set /p "line="
if "%line%"=="end" set "end=1"
if "%line%"=="end" echo. >>"\\FAMILY-PC\Users\Public\HailDatabase\HailMail\Accounts\%send%\%msgname%.MAIL"
if "%line%"=="end" set "line= From, %user%"
echo %line% >>"\\FAMILY-PC\Users\Public\HailDatabase\HailMail\Accounts\%send%\%msgname%.MAIL"
if "%end%"=="1" goto msgdone
goto rep