如何使用批处理脚本在变量中设置带空格的字符串(来自文件的内容)

时间:2014-12-12 21:07:05

标签: windows batch-file cmd

我有这段代码,它读取文件的内容并设置变量中的所有内容。

for /f "tokens=1,*" %%h in ('type C:\user\userfiles\title.txt') do (
set title=%%h
)echo %title%

title.txt的示例内容

AAAA BBBB CCCC

现在,它始终在第一个空格之前显示该单词。如何以变量标题

显示文件的所有内容

1 个答案:

答案 0 :(得分:2)

您需要指定FOR参数中不应包含分隔符,否则将使用空格并仅获取第一个值:

REM Pick up a single token with no delimiters.
REM This will read the entire line of the file.
for /f "usebackq tokens=* delims=" %%h in (`type "C:\user\userfiles\title.txt"`) do set title=%%h
echo %title%

请注意,如果文件有多行,则只有 last 行将设置为%title%变量。

如果您想转而使用%title%的结果作为程序的参数,请确保将其放在引号中,因为它可能包含空格:

SomeProgram.exe "%title%"