代码之家  ›  专栏  ›  技术社区  ›  relief.melone

从文件中的所有行创建字符串并存储在变量[重复]中

  •  -1
  • relief.melone  · 技术社区  · 6 年前
    &13;

    这个问题已经有了答案:

    &13;

    α13;
    >13;

    我现在有问题。这一个似乎被很好地涵盖了,但我发现的所有答案都不适合我。我要做的就是这个。我有一个多行的文本文件。我想把所有这些都浓缩成一根绳子

    [LINE1]\n[LINE2]\n[LINE3]...
    

    现在,通过我找到的一个文件的行进行循环的答案是可以理解的。

    for /F "delims=" %%i in (filename.key) do set content=%content% %%i
    

    现在的问题是,我的批处理文件确实在文件中循环,但是 %content% 似乎每个循环都是空的。所以毕竟,内容只匹配我文件的最后一行。我做错什么了?

    1 回复  |  直到 6 年前
        1
  •  1
  •   double-beep hudson solomon    6 年前

    您需要修改代码以添加 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....:
    

    您可以选择您想要的方式。