通过 Windows 命令行将文本文件的所有行合并为一行

通过 Windows 命令行将文本文件的所有行合并为一行

我编写了一个命令行脚本,列出我想执行操作(例如压缩、删除或通过电子邮件发送)的文件。该列表的格式如下:

7z-Compression-List.txt:
========================

file1
file2
file3
etc...

为了压缩,我想将列表中的所有行合并为一行。像这样:

文件 1、文件 2、文件 3 等

这样我就可以同时将所有文件输入 7z 命令行应用程序。

有人知道我该怎么做吗?也许是某种 for 循环?

答案1

我最终在另一个问题中找到了答案,这里在 Stack Overflow 中

@ECHO OFF
setlocal
(SET file-list=)
FOR /f "delims=" %%x IN (7z-Compression-List.txt) DO (
CALL SET file-list=%%file-list%%, %%x
)
SET file-list=%file-list:~1%
ECHO file-list=%file-list%

效果很好。这是Magoo 的回答,如果您喜欢这个答案,请随意为原作者点赞。

答案2

基于此社区维基

@echo off
for /f "tokens=* delims=" %%a in ('type 7z-Compression-List.txt') do (
<nul set /p Test=%%a, 
)

但是它在行尾留下了一个多余的“,”。

相关内容