如何从 Windows 命令行压缩或压缩文本文件中列出的文件?

如何从 Windows 命令行压缩或压缩文本文件中列出的文件?

我正在使用批处理脚本将具有特定属性的文件名输出到文件.txt,在本例中是超过 30 天的文件。然后我想压缩或压缩.txt文件中列出的那些文件。

我该如何做这件事?

答案1

根据 7z 命令行选项:

Usage: 7z <command> [<switches>...] <archive_name> [<file_names>...]
       [<@listfiles...>]

由于您已经有了文件列表,因此您可以直接将其@用于该文件。例如,要将文件压缩到filelist.txttest.zip 中,请使用以下命令

7z a test.zip @filelist.txt

我试过了,效果很好

答案2

对于 RAR,只需在命令行中通常指定文件列表的位置指定文件列表,但在其前面加上“@”字符。

例如,您有一个需要存档的文件列表,在list-of-files.txt其中一个文件中

rar a archive-file @list-of-files.txt

答案3

MSDOS 版 RAR

ls.txt内容:

C:\Users\xpacio\Desktop\001\foo.bin
C:\Users\xpacio\Desktop\002\foo.dat

在桌面上存在:

001/foo.bin
001/bar.dat
002/foo.dat
002/bar.bin

命令:

rar a -m5 -ep1 -cu [email protected] result.rar C:\Users\xpacio\Desktop\

该命令会在实际路径下生成一个名为result.rar的rar文件,
rar内容为:

   001/FOO.BIN
   002/FOO.DAT

参数:

-m5  max level of compression
-ep1 cut the path depth 
-cu  convert to UPPERCASE
[email protected] listo of files to process

相关内容