如何将批处理文本中的变量调用批处理文件?

时间:2015-04-06 04:11:38

标签: batch-file

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

我的代码(缩短):

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

1 个答案:

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