【发布时间】:2019-06-22 11:09:12
【问题描述】:
我想将一个数字发送到 file.txt 作为另一个变量的临时存储,这很容易做到。我只是想不出用什么来提取 file.txt 的第一行(范围为 1-100000 的数字)并将其设置为我正在运行的批处理脚本中的 %variable%。
所以到最后我应该能够执行 echo %first-line-of-file.txt% 并且它会打印 x
非常感谢有关如何使这项工作的任何想法
【问题讨论】:
标签: batch-file
我想将一个数字发送到 file.txt 作为另一个变量的临时存储,这很容易做到。我只是想不出用什么来提取 file.txt 的第一行(范围为 1-100000 的数字)并将其设置为我正在运行的批处理脚本中的 %variable%。
所以到最后我应该能够执行 echo %first-line-of-file.txt% 并且它会打印 x
非常感谢有关如何使这项工作的任何想法
【问题讨论】:
标签: batch-file
真的很简单。
@echo off
For /f %%i in (file.txt) do set "var=%%i" & Goto :print
:print
Echo %var%
for 循环通常会遍历整个文件。但是一旦第一行设置为退出循环,我们就会执行goto :EOF。
有关 for 循环的更多帮助。打开 cmd.exe 并输入 `for /?
【讨论】:
for 循环(就像 Gerhard 展示的那样)是最通用的方法(使用 "delims=" 来获取完整的行,即使它包含空格或其他分隔符),但要获取 first em> (或仅)文本文件的一行,有一个更简单的方法:
<filename.txt set /p line=
echo %line%
【讨论】: