Bonjour, j'ai récemment écrit un outil de ligne de commande pour compresser des fichiers et j'aimerais le partager avec vous aujourd'hui.
était due à des circonstances incontrôlables dans l'ancienne entreprise. J'ai récemment changé de travail et suis passé de Mac à Win. Lorsque j'utilisais Mac auparavant, j'étais habitué aux opérations de terminal. Maintenant, je ne me sens pas très à l'aise. avec, même si Win l'accompagne, powershell
est également très puissant.
Les projets développés au travail doivent être compressés dans des packages compressés avant les tests, puis téléchargés sur l'application de bureau correspondante pour les tests.
La plupart des logiciels de compression téléchargés sur Internet sont livrés avec des publicités.
La commande de compression dans powershell
est trop longue et peu pratique à utiliser. De plus, une fois l'IDE de l'application de bureau mis à niveau, les fichiers compressés par Compress-Archive
ne peuvent pas être correctement analysés.
La dernière raison est que je ne veux plus apprendre les commandes powershell
! ! !
Sur la base des raisons ci-dessus, j'ai écrit un outil de compression fzip
en utilisant nodejs
avec Compress-Archive
Utilisez
fzip
pour compresserfzip -f ./test
Compress-Archive
pour compresserCompress-Archive -Path ./test -DestinationPath ./ test. .fermeture éclair #Expliquez les paramètres# -Path Source# -DestinationPath
Les deux instructions au-dessus de l'emplacement de sortie compresseront le répertoire de test dans le répertoire courant dans un package zip, mais les instructions d'utilisation powershell
sont vraiment longues !
Bien sûr, fzip
prend également en charge la spécification de l'emplacement de sortie et le nom du package compressé. De plus, il prend également en charge la définition du niveau de compression ! Vous trouverez une documentation détaillée ci-dessous !
npm
pour installernpm install @lxqddd/fzip -g
yarn
pour installerYarn Install @lxqddd/fzip -g
pnpm
pour installerpnpm install @lxqddd/fzip -g
Source du paramètre de | paramètre | Annotation du paramètre |
---|---|---|
-f | À partir de | la cible de compression source (obligatoire facultatif) |
-o | Emplacement de sortie du produit de compressionde sortie | (facultatif, s'il n'est pas transmis, ce sera le même répertoire de niveau que la source) |
-l | Niveau de compressionde niveau | 0 à 9 (facultatif, s'il n'est pas transmis, la valeur par défaut est 6) |
-n | Nom | du nom du package compressé (facultatif) , s'il n'est pas transmis, il sera par défaut le nom du fichier ou du répertoire) |
. ├── LICENCE ├── LISEZMOI.md ├── gulpfile.js ├── package.json ├──src │ ├──cli.ts │ ├── noyau │ │ └── index.ts │ ├──types │ │ └── index.ts │ └──utilitaires │ └── index.ts ├── tsconfig.json └──
# Une fois la commande exécutée, un package compressé de `src.zip` sera affiché dans le répertoire du même niveau que `src` ./src
# Une fois la commande exécutée, un package compressé de `src.zip` sera affiché sur le bureau. Le package compressé de `src.zip` fzip -f ./src -o ~/Desktop
. le niveau de compression du produit de compression est de 9 fzip -f ./src -o ~/Desktop -l
# Une fois la commande exécutée, un package compressé nommé `test.zip` sera affiché dans le répertoire général de `src` fzip -f ./src -n Le Le test
mentionné ci-dessus compresse le répertoire et peut également compresser un seul fichier. La méthode d'utilisation est similaire. Il vous suffit de pointer le chemin d'entrée vers le fichier cible compressé pour
# Une fois la commande exécutée, un fichier. package compressé nommé `test.zip` fzip -f ./src/cli.ts -o ~/Desktop -n test -l 9
Adresse du projet : https://github.com/lxqddd/FZip