我使用unzip命令在macos终端中提取文件。但是我发现解压缩后的文件没有任何权限:
$ unzip '/Users/menghanyu/foo.zip' -d '/Users/menghanyu/foo-unzip'
cd /Users/menghanyu/foo-unzip
ls -la
---------- 1 menghanyu staff 28998 11 20 14:30 Foo.json
---------- 1 menghanyu staff 28998 11 20 14:30 Bar.json
我尝试使用-K
,但没有用。 (因为我不能确保该zip文件具有权限标记。)
$ unzip -K '/Users/menghanyu/foo.zip' -d '/Users/menghanyu/foo-unzip'
如何使提取的文件与父文件夹的权限一致?
zipinfo
Archive: foo.zip
Zip file size: 57996 bytes, number of entries: 2
?--------- 2.0 unx 28998 b- defN 19-Nov-20 14:30 Foo.json
?--------- 2.0 unx 28998 b- defN 19-Nov-20 14:30 Bar.json
zipinfo命令告诉我们未设置umask,但是c#ZipArchive
没有提供相应的api,我该怎么办?
public class ZipArchiveEntry
{
public ZipArchive Archive { get; }
public long CompressedLength { get; }
public string FullName { get; }
public DateTimeOffset LastWriteTime { get; set; }
public long Length { get; }
public string Name { get; }
public void Delete();
public Stream Open();
public override string ToString();
}