2015-04-06 145 views
0

我正在创建一个测验来测试我的技能,并能够成功地将文本和变量放入一个单独的文本文件中。当我试图从批处理文件中调用它们时,变量是空白的。我怎样才能解决这个问题?另外,如果有人能告诉我如何回忆一个特定的线路,我将不胜感激。如何将变量放入批处理文件中的文本文件中?

我的代码(缩短):

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

您能否确认您提供的代码不起作用?我遇到的唯一问题是for循环的delims部分中的空间意味着它无法用空格处理答案。 – SomethingDark 2015-04-06 04:58:11

回答

0

如果您在您的输出仔细一看,它应该给你一个线索的问题。

当你键入结果文件,它应该有所有预期的数据:

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 =之后立即输入结束语,并且解决问题。

for /f "delims=" %%G in (TestResults.txt) do echo %%G 
相关问题