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
# 壓縮產物的壓縮等級為9 fzip -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