Olá, escrevi recentemente uma ferramenta de linha de comando para compactar arquivos e gostaria de compartilhá-la com vocês hoje.
foi devido a algumas circunstâncias incontroláveis na antiga empresa. Mudei recentemente de emprego e mudei do Mac para o Win. Quando usei o Mac antes, estava acostumado a operações de terminal. com ele, embora powershell
Win venha com ele também é muito poderoso.
Os projetos desenvolvidos no trabalho precisam ser compactados em pacotes compactados antes do teste e, em seguida, carregados no aplicativo de desktop correspondente para teste.
A maior parte do software de compactação baixado da Internet vem com anúncios.
O comando de compactação no powershell
é muito longo e inconveniente de usar. Além disso, após a atualização do IDE do aplicativo de desktop, os arquivos compactados pelo Compress-Archive
não podem ser analisados corretamente.
A última razão é que não quero mais aprender comandos powershell
! ! !
Com base nas razões acima, escrevi uma ferramenta de compactação fzip
usando nodejs
com Compress-Archive
Use
fzip
para compactarfzip -f ./test
Compress-Archive
para compactarCompress-Archive -Path ./test -DestinationPath ./ test. .zip #Explicar os parâmetros# -Path Source# -DestinationPath
As duas instruções acima do local de saída compactarão o diretório de teste no diretório atual em um pacote zip, mas as instruções para usar powershell
são muito longas!
Claro, fzip
também suporta a especificação do local de saída e a nomeação do pacote compactado. Além disso, ele também suporta a configuração do nível de compactação! Haverá documentação detalhada para você abaixo!
npm
para instalarnpm install @lxqddd/fzip -g
yarn
para instalaro yarn install @lxqddd/fzip -g
pnpm
para instalaro pnpm install @lxqddd/fzip -g
Parâmetro fonte | do parâmetro | Anotação do parâmetro |
---|---|---|
-f | Do | destino de compactação fonte (obrigatório Opcional) |
-o | Local de saída do produto de compactaçãode saída | (opcional, se não for aprovado, será o mesmo diretório de nível da origem) |
-l | Nível de compactaçãode nível | 0 a 9 (opcional, se não for aprovado, o padrão é 6) |
-n | Nome | do nome do pacote compactado (opcional), se não for passado, o padrão será o nome do arquivo ou diretório) |
. ├── LICENÇA ├── README.md ├── gulpfile.js ├── pacote.json ├──src │ ├── clitóris │ ├── núcleo │ │ └── index.ts │ ├── tipos │ │ └── index.ts │ └── utilitários │ └── index.ts ├── tsconfig.json └──
# Após a execução do comando, um pacote compactado de `src.zip` será gerado no diretório do mesmo nível que `src` fzip -f ./src
# Após a execução do comando, um pacote compactado de `src.zip` será exibido na área de trabalho. O pacote compactado de `src.zip` fzip -f ./src -o ~/Desktop
. o nível de compressão do produto de compressão é 9 fzip -f ./src -o ~/Desktop -l
# Após a execução do comando, um pacote compactado chamado `test.zip` será gerado no diretório geral de `src` fzip -f ./src -n O O teste
mencionado acima compacta o diretório e também pode compactar um único arquivo. O método de uso é semelhante. Você só precisa apontar o caminho de entrada para o arquivo de destino compactado para
compactar um únicoarquivo
pacote compactado chamado `test. zip` fzip -f ./src/cli.ts -o ~/Desktop -n test -l 9
Endereço do projeto: https://github.com/lxqddd/FZip