Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 从zip中强制使用目录名_Linux_Bash_Zip_Unzip - Fatal编程技术网

Linux 从zip中强制使用目录名

Linux 从zip中强制使用目录名,linux,bash,zip,unzip,Linux,Bash,Zip,Unzip,有没有办法压缩一个文件,以便在第二次下载和解压缩时,目录名是相同的 预期结果: 客户下载zip文件foo.zip,然后解压缩到foo目录 客户第二次下载相同名称的zip文件,其目录现在是foo.zip(1)。这次解压文件时,它仍然是foo,而不是foo(1)。要求用户覆盖现有文件 一种压缩它的方法,这样无论操作系统和/或程序是什么,目录名都是强制的 不,这是不可能的,原因有很多。如果zip标准有这样的政策 有些人总是可以编写一个忽略标准的程序,并以不同的方式命名提取的文件 强制名称必须在所

有没有办法压缩一个文件,以便在第二次下载和解压缩时,目录名是相同的

预期结果:

  • 客户下载zip文件
    foo.zip
    ,然后解压缩到
    foo
    目录
  • 客户第二次下载相同名称的zip文件,其目录现在是
    foo.zip(1)
    。这次解压文件时,它仍然是
    foo
    ,而不是
    foo(1)
    。要求用户覆盖现有文件
一种压缩它的方法,这样无论操作系统和/或程序是什么,目录名都是强制的

不,这是不可能的,原因有很多。如果zip标准有这样的政策

  • 有些人总是可以编写一个忽略标准的程序,并以不同的方式命名提取的文件
  • 强制名称必须在所有操作系统和文件系统上都可用,否则您将无法在这些系统上提取存档。对于Windows,名称限制必须至少是“不包含
    :“/\?*
    ”和“不包含
    CON
    PRN
    AUX
    NUL
    COM1
    ,…”,但对于旧的FAT文件系统,也必须是“仅包含8个字符”之类的荒谬事情

我想这取决于您解压文件所使用的程序。当我使用WinRAR时,它会询问我是否应该覆盖。是的。我想知道是否有办法对其进行压缩,以便无论操作系统和/或程序是什么,都可以强制使用目录名。