1

Я написал скрипт командной строки, который составляет список файлов, с которыми я хочу что-то сделать, например сжатие, удаление или отправка по электронной почте. Список будет в следующем формате:

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

file1
file2
file3
etc...

Для сжатия я хочу объединить все строки в списке в одну строку. как это:

файл1, файл2, файл3 и т. д.

так что я могу передать все файлы в приложение командной строки 7z одновременно.

Кто-нибудь знает, как я могу это сделать? Может быть, цикл какой-то?

2 ответа2

3

Я нашел ответ в другом вопросе, здесь, в переполнении стека

@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, поэтому не стесняйтесь поднять голос автора, если вам нравится этот ответ.

0

На основе этого сообщества вики:

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

Однако это оставляет лишние "," в конце строки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .