从文本文件中的列表创建分号分隔的单行

问题描述 投票:0回答:1

我总是在 list.txt 文件中手动定义 ID 列表并创建一个长字符串。

注意:list.txt中的ID数量可以不同

//列表.txt

450814997
463939057

//列表.bat

set "my_directory=c:\server"
set "list="
for /F "tokens=*" %%A IN ('Type "list.txt"') do (
    set "list=!list!%my_directory%\%%A;"
)
echo %list%

预期输出:

c:\server\450814997;c:\server\463939057;
batch-file
1个回答
0
投票
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION 
set "my_directory=c:\server"
set "list="
for /F "tokens=3delims=?" %%E IN ('Type "q77047266.txt"') do (
 SET "token3=%%E"
 IF DEFINED token3 set "list=!list!%my_directory%\!token3:~3,-4!;"
)
echo %list%

GOTO :EOF

我使用了一个名为

q77047266.txt
的文件,其中包含用于测试的 HTML 数据。

您没有指定是否应从该行中第一次或第二次出现的位置中提取所需的字符串。我选择了最后一个。

使用

?
作为分隔符,抓取第二个
?
(token3)之后的部分行,然后将结果附加到
list
,带有装饰,但省略前3个字符(id=)和后3个字符()

© www.soinside.com 2019 - 2024. All rights reserved.