Batch file 在for/f批处理命令中使用空格

Batch file 在for/f批处理命令中使用空格,batch-file,for-loop,space,Batch File,For Loop,Space,假设有一个名为dir.txt的文件,其中包含以下内容: singleword two words 运行dos批处理命令 for /f %%d in (dir.txt) do echo %%d 显示 singlewords two 即第二行被截断为第一个空格。如何强制命令返回整行内容?您可以使用以下语法: for /f "tokens=*" %%d in (dir.txt) do echo %%d 或者,如果出于某种原因,您不想要所有这些: for /f %%d in (dir.txt)

假设有一个名为dir.txt的文件,其中包含以下内容:

singleword
two words
运行dos批处理命令

for /f %%d in (dir.txt) do echo %%d
显示

singlewords
two

即第二行被截断为第一个空格。如何强制命令返回整行内容?

您可以使用以下语法:

for /f "tokens=*" %%d in (dir.txt) do echo %%d
或者,如果出于某种原因,您不想要所有这些:

for /f %%d in (dir.txt) do echo %%d %%e

您可以使用以下语法:

for /f "tokens=*" %%d in (dir.txt) do echo %%d
或者,如果出于某种原因,您不想要所有这些:

for /f %%d in (dir.txt) do echo %%d %%e

tokens=*
删除前导空格时,最好使用
delims=

for /f "delims=" %%d in (dir.txt) do echo %%d

注意:这将删除所有空行。

标记=*
将删除前导空格。最好使用
delims=

for /f "delims=" %%d in (dir.txt) do echo %%d
注意:这将删除所有空行