hello,最近写了一个压缩文件的命令行工具,今天分享给大家。
起因由于前公司一些不可抗的情况,最近换了工作,吃饭的家伙也从mac转成了win,之前用mac的时候,习惯了终端操作,现在用win,感觉不是很适应,尽管win自带的 powershell 也很强大。
工作中开发的项目在测试的时候需要先压缩成压缩包,再上传到对应的桌面应用测试。
在网上下载的压缩软件大都捆绑的有广告,hen~烦
powershell 的压缩命令太长了,用起来不方便,并且桌面应用ide升级之后,通过 compress-archive 压缩的文件不能被正确的解析。
最后一个原因,我不想再去学 powershell 的指令了!!!
综合上述的原因,我用nodejs写了一个压缩工具 fzip
对比来跟 compress-archive 做一下对比
使用 fzip 压缩fzip -f ./test
使用 compress-archive 进行压缩compress-archive -path ./test -destinationpath ./test.zip# 解释一下参数# -path 来源# -destinationpath 输出位置
上边两条指令都会将当前目录下的test目录压缩成一个zip包,但是使用 powershell 的指令真的很长啊有木有!
当然了,fzip 也是支持指定输出位置和命名压缩包的,不仅如此,还支持设置压缩等级!下边会有详细的文档供您食用!
使用方法使用 npm 安装npm install @lxqddd/fzip -g
使用 yarn 安装yarn install @lxqddd/fzip -g
使用 pnpm 安装pnpm install @lxqddd/fzip -g
参数说明参数参数来源参数注解
-f from 压缩目标来源(必选)
-o output 压缩产物输出位置(可选,不传则为来源同级目录)
-l level 压缩级别 0~9(可选,不传则默认为 6)
-n name 压缩包名称(可选,不传则默认为文件或目录的名字)
使用示例.├── license├── readme.md├── gulpfile.js├── package.json├── src│ ├── cli.ts│ ├── core│ │ └── index.ts│ ├── types│ │ └── index.ts│ └── utils│ └── index.ts├── tsconfig.json└── yarn.lock
基础用法# 指令执行之后会在 `src` 的同级目录输出一个 `src.zip` 的压缩包fzip -f ./src
指定输出位置# 指令执行之后会在桌面上输出一个 `src.zip` 的压缩包fzip -f ./src -o ~/desktop
指定压缩等级# 压缩产物的压缩级别为 9fzip -f ./src -o ~/desktop -l 9
重命名# 指令执行之后会在 `src` 的通级目录下输出一个名为 `test.zip` 的压缩包fzip -f ./src -n test
上边说的都是压缩目录的,也可以压缩单个文件,使用方法类似,只需要将输入路径指向被压缩的目标文件即可
压缩单个文件# 指令执行之后会在桌面输出一个名为 `test.zip` 的压缩包fzip -f ./src/cli.ts -o ~/desktop -n test -l 9
项目地址:https://github.com/lxqddd/fzip
如果你觉得写的不错的话,欢迎三连~
更多node相关知识,请访问:nodejs 教程!
以上就是手把手带你使用node开发一个命令行压缩工具的详细内容。
