我编写了一个命令行脚本,列出我想执行操作(例如压缩、删除或通过电子邮件发送)的文件。该列表的格式如下:
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,
)
但是它在行尾留下了一个多余的“,”。