同一份压缩包(.zip)在不同操作系统上解压后文件不一致?

最近碰上一件怪事,用nodejs写了一个文件打包的脚本,将对应的文件生成压缩包。然而将该生成的压缩包分别在UbuntuWindow系统上解压出来后文件不一致此时我的内心几乎是崩溃的
Window系统下的文件
clipboard.png

将Window系统下的压缩包复制至虚拟机的Ubuntu系统
clipboard.png

文件打包的脚本用nodejs写的,核心代码如下

//将项目文件复制至压缩包所在文件夹中
archive.directory(projectPath, projectName);
//替换对应系统的node_modules
archive.directory(node_modulesVersionPath + osVersion +'/', projectName + '/node_modules/');

执行脚本的环境为Window系统,node_modulesVersionPath + osVersion路径下是来自不同操作系统安装的node_modules模块

压缩包文件可以确认是同一份,
在window系统下使用certutil -hashfile ./linux_x64.zip MD5,
在ubantu系统下使用md5sum ./linux_x64.zip,
MD5码都是19a09b9fb2f0aae7fd013fc0b9da434f

文件在系统间通过VM Tools传输
在ubantu系统下压缩包文件的解压用的是系统自带的提取功能,
在window系统下压缩包文件的解压用的是360压缩

压缩文件在不同系统间解压出的文件不一致,解压后的文件在不同系统间传输,内容没变

话说这还有救吗?

阅读 5.7k
1 个回答
  1. 做一下md5,确认文件一样
  2. 给test.txt改个文件名再试试
  3. 将里面的内容改成全英文再试试
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题