Text 如何将字符串与文本文件的行连接起来

Text 如何将字符串与文本文件的行连接起来,text,cmd,concatenation,Text,Cmd,Concatenation,我一直在尝试将字符串与文本文件的行连接起来,但是我的代码出了问题,我相信我在For循环中使用的是agruments。如果有人能帮助我,我将不胜感激 我的代码是: @echo off set "input=C:\Users\123\Desktop\List.txt" for /f "usebackq tokens=*" %%F in ("%input%") do ( set "str1=C:\some directory\" set "str2=%%~F" set

我一直在尝试将字符串与文本文件的行连接起来,但是我的代码出了问题,我相信我在For循环中使用的是agruments。如果有人能帮助我,我将不胜感激

我的代码是:

@echo off
set "input=C:\Users\123\Desktop\List.txt"
for /f "usebackq tokens=*" %%F in ("%input%") do (
        set "str1=C:\some directory\"
    set "str2=%%~F"
    set "str3=.pdf"
    set "str4=%str1%%str2%%str3%"
    echo.%str4%
)
文本文件类似于:

121122
122233
123344
124455
但是我只得到了一个错误的答案,我必须运行3次才能得到一个真正的结果,这是错误的,前两个是空格,第三个返回文本文件中的最后一行,但重复了n次,其中,n是文本文件中的行数

结果:

C:\Users\123\Desktop>concatenate.bat





C:\Users\123\Desktop>concatenate.bat





C:\Users\123\Desktop>concatenate.bat
C:\some directory\124455.pdf
C:\some directory\124455.pdf
C:\some directory\124455.pdf
C:\some directory\124455.pdf
C:\some directory\124455.pdf

C:\Users\123\Desktop>
所以,如果有人有什么不对劲的线索,请告诉我

问候

-Victor-

您需要启用延迟扩展功能。这是必需的,因为在
FOR
命令块中,您需要引用已修改的变量

@echo off
setlocal enabledelayedexpansion
set "input=C:\Users\123\Desktop\List.txt"
for /f "usebackq tokens=*" %%F in ("%input%") do (
    set "str1=C:\some directory\"
    set "str2=%%~F"
    set "str3=.pdf"
    set "str4=!str1!!str2!!str3!!"
    echo. !str4!
)