我目前有问题。这个问题似乎涵盖面很广,但是我发现的所有答案都不适用于我。我想做的就是这个。我有一个多行文本文件。我想将所有这些连接到一个像这样的字符串
[LINE1]\n[LINE2]\n[LINE3]...
现在,遍历我发现的文件行的答案是可以理解的
for /F "delims=" %%i in (filename.key) do set content=%content% %%i
现在的问题是,我的批处理文件确实在文件中循环,但是%content%
在每个循环中似乎都是空的。因此,毕竟,内容仅与文件的最后一行匹配。我在做什么错了?
答案 0 :(得分:1)
您将需要修改代码以向其添加delayed expansion:
@echo off
setlocal EnableDelayedExpansion
for /F "delims=" %%A in (filename.key) do set "content=!content! %%A"
rem Your other code here....:
但我会这样做:
@echo off
SETLOCAL EnableDelayedExpansion
set "content="
for /F "delims=" %%A in (./config/git/read.key) do (
if defined content (
set "content=!content!\n%%A"
) else (
set "content=%%A"
)
)
echo %content%
rem Your other code here....:
您可以选择所需的方式。