我正在创建一个测验作为对我的技能的测试,并且能够成功地将文本和变量放入单独的文本文件中。当我尝试从批处理文件中调用它们时,变量是空白的。我怎样才能解决这个问题?此外,如果有人能告诉我如何回忆特定的行,我将不胜感激。
我的代码(缩短):
Echo What is your Name?
set /p Name=Name=
echo Test Results: > TestResults.txt
echo Name: %Name% >> TestResults.txt
cls
echo What's 2 + 2?
set /p Problem=2 + 2=
echo 2 + 2= %Problem% >> TestResults.txt
cls
echo Who is President?
set /p President=President=
echo President= %President% >> TestResults.txt
cls
echo Goodbye!
pause>nul
cls
for /f "delims= " %%G in (TestResults.txt) do echo %%G
pause>nul
答案 0 :(得分:0)
如果你仔细观察你的输出,它应该给你一个问题的线索。
当你对结果文件进行TYPE时,它应该包含所有预期的数据:
c:\>TYPE TestResults.txt
Test Results:
Name: Simple Simon
2 + 2= 16
President= Bugs Bunny
但你的FOR / F循环正在产生:
Test
Name:
2
President=
每一行的第一个空格后都没有出现。查看DELIMS选项,显然您将令牌分隔符设置为<space>
。只需确保DELIMS选项是列表中的最后一个选项,并在DELIMS =之后立即放置结束引号,并且prolem已解决。
for /f "delims=" %%G in (TestResults.txt) do echo %%G