通过7zip命令行指令,压缩除指定后缀名文件之外的所有文件
时间: 2023-11-28 19:04:24 浏览: 32
你可以使用以下命令来实现:
```
7z a -tzip archive.zip !(*.txt)
```
这将压缩除了所有的 `.txt` 文件之外的所有文件,并将它们保存到 `archive.zip` 中。你可以将 `*.txt` 替换为你想要排除的任何后缀名。请注意,这个命令要求你在使用它的目录下运行。
相关问题
通过7zip命令行指令,压缩除多个后缀名文件之外的所有文件
可以使用以下命令行指令来实现:
```
7z a -tzip archive.zip !(*.suffix1|*.suffix2)
```
其中,`archive.zip` 是压缩文件的名称,`suffix1` 和 `suffix2` 是需要排除的文件后缀名,用 `|` 分隔多个后缀名。`!(*.suffix1|*.suffix2)` 表示匹配除了这些后缀名之外的所有文件。压缩完成后,会将所有符合条件的文件压缩到 `archive.zip` 文件中。
Java的zip4j库如何修改压缩后的文件后缀名
使用zip4j库可以创建、读取和修改ZIP文件,但是它不支持修改压缩后的文件后缀名。
ZIP文件格式是一种归档文件格式,其中包含多个文件和目录,但不会保留文件的扩展名。因此,更改ZIP文件中的文件扩展名不会更改解压缩后的文件的扩展名。
如果要更改ZIP文件中文件的扩展名,您可以将文件解压缩到临时文件夹中,修改文件名,然后使用zip4j库重新压缩文件。
以下是Java中使用zip4j库进行ZIP文件解压缩和压缩的示例代码:
```java
import net.lingala.zip4j.ZipFile;
import net.lingala.zip4j.exception.ZipException;
import net.lingala.zip4j.model.FileHeader;
import net.lingala.zip4j.model.ZipParameters;
import java.io.File;
import java.util.List;
public class Zip4jExample {
public static void main(String[] args) throws ZipException {
// 解压缩ZIP文件
ZipFile zipFile = new ZipFile("example.zip");
String destFolder = "unzip/";
if (!zipFile.isValidZipFile()) {
throw new ZipException("Invalid ZIP file");
}
zipFile.extractAll(destFolder);
// 修改文件名
File fileToRename = new File(destFolder + "example.txt");
File newFile = new File(destFolder + "example2.csv");
boolean renamed = fileToRename.renameTo(newFile);
if (!renamed) {
throw new RuntimeException("Failed to rename file");
}
// 压缩文件夹
ZipParameters parameters = new ZipParameters();
parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);
parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);
zipFile = new ZipFile("example2.zip");
zipFile.addFolder(destFolder, parameters);
}
}
```
请注意,以上代码只是示例,并不会处理错误处理和异常情况。