Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 如何获取txt文件的第一行并在批处理中将其设置为%variable%?_Batch File - Fatal编程技术网

Batch file 如何获取txt文件的第一行并在批处理中将其设置为%variable%?

Batch file 如何获取txt文件的第一行并在批处理中将其设置为%variable%?,batch-file,Batch File,我想向file.txt发送一个数字,作为另一个变量的临时存储,这很容易做到。我就是不知道用什么来提取file.txt的第一行(一个1-100000的数字),并在我运行的批处理脚本中将其设置为%variable% 因此,在它结束时,我应该能够做echo%文件的第一行.txt%,它将打印x 任何关于如何完成这项工作的想法都是非常值得赞赏的这真的很简单 @echo off For /f %%i in (file.txt) do set "var=%%i" & Goto :print :prin

我想向file.txt发送一个数字,作为另一个变量的临时存储,这很容易做到。我就是不知道用什么来提取file.txt的第一行(一个1-100000的数字),并在我运行的批处理脚本中将其设置为%variable%

因此,在它结束时,我应该能够做echo%文件的第一行.txt%,它将打印x

任何关于如何完成这项工作的想法都是非常值得赞赏的

这真的很简单

@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=“
获取完整的行,即使它包含空格或其他分隔符),但要获取文本文件的第一行(或唯一一行),有一种更简单的方法:

<filename.txt set /p line=
echo %line%

我希望它真的这么简单,但是当我在最后一次回显之后有任何注释时,batch也会尝试执行它们……@Amalgovinus您的注释是如何构造的?使用setlocal enabledelayedexpansion,两个双冒号(以及rem注释)都会作为命令执行,并且它们的双冒号被排除在外。事实上,即使没有:打印,我的坏。但这真的很奇怪。窗户10@Amalgovinus听起来不对。我需要看一看,找出问题所在。