在批处理

时间:2017-12-18 15:45:17

标签: batch-file

假设我有一个包含以下内容的文本文件:

Hello
World
Abc

现在我想批量阅读并将它们复制到一个变量中。所以我的变量应该包含:

var=Hello World Abc

有什么可以解决这个问题? 如果我正在尝试,我要么得到第一个字或最后一个字。

由于

2 个答案:

答案 0 :(得分:1)

这似乎有效。我已将\n附加到读取文件中的每一行。我不确定你希望这种行为如何实际发挥作用:

@echo off
SETLOCAL EnableDelayedExpansion
set "filecontents="
for /f "delims=" %%x in (input.txt) do (
    set filecontents=!filecontents!%%x\n
    )
echo %filecontents%

答案 1 :(得分:0)

要读取批处理文件中文件的内容,可以使用FOR /F命令。然后,使用SET命令为变量赋值。此外,您需要利用延迟扩展将现有变量重新分配给原始变量。将分配一个前导空格,以便echo命令使用子字符串将其删除。

@echo off
setlocal EnableDelayedExpansion
for /f "delims=" %%G IN (file.txt) do set "var=!var! %%G"
echo %var:~1%