我具有以下文件夹结构:
- 根
- 资料夹1
- 资料夹2
- 资料夹3
- 7za.exe
我想运行7-zip命令行工具将所有文件压缩folder1
到一个名为的zip文件中folder1.zip
。
运行以下
7za.exe a -tzip folder1.zip folder1\\*.*
产生预期的zip文件。但是,当我打开zip文件时,该文件中有一个名为的文件夹folder1
,并且其中包含该文件夹中的所有文件。我不想将文件夹名称添加到zip文件夹,即我想以“平面”文件格式添加所有文件。
我也不想为每个文件/文件夹递归地运行命令行工具。
是否有提供此功能的交换机?
从7-Zip帮助文件中:
一个(添加)命令
将文件添加到存档。
例子
7z a archive1.zip subdir\
将文件夹subdir中的所有文件和子文件夹添加到存档archive1.zip。存档中的文件名将包含subdir \前缀。
7z a archive2.zip .\subdir\*
将文件夹subdir中的所有文件和子文件夹添加到存档archive2.zip。存档中的文件名将不包含subdir \前缀。
cd /D c:\dir1\
7z a c:\archive3.zip dir2\dir3\
存档c:\ archive3.zip中的文件名将包含dir2 \ dir3 \前缀,但将不包含c:\ dir1 \前缀。
因此,您想要的命令将是: 7za.exe a folder1.zip .\folder1\*
另外,请注意7-Zip对通配符的处理。它不会被*.*
视为“所有文件”,而是“文件名中带有句点的所有文件”。无扩展名的文件将丢失。如果您确实想要所有文件,请*
改用。
最后,-tzip
如果归档文件名以结尾,则不需要该参数.zip
。7-Zip非常聪明,可以确定在这种情况下所需的格式。仅在需要自定义扩展名时才需要(例如,7za.exe a -tzip foo.xpi <files>
对于Mozilla附加组件)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句