Como posso converter em lote usando chm2pdf no Ubuntu?

0

Não tenho certeza de qual parte do meu comando é imprópria, mas não recebo nenhum erro e apenas uma página de uso ao digitar o seguinte:

/usr/bin/chm2pdf --book *.chm *.pdf

e

/usr/bin/chm2pdf --book *.chm [*.pdf]

Mais ao ponto, eu tenho um diretório de 100 arquivos .chm que eu estava encarregado de converter, e o uso para conversão em lote era praticamente inexistente em qualquer documentação, então um curinga pode não ser o caminho a seguir, evidentemente .

Aqui está a mensagem que eu recebi:

#/usr/bin/chm2pdf --book *.chm [*.pdf]
Usage:
        /usr/bin/chm2pdf [options] input_filename [output_filename]

Options:
...

Minha pergunta, mais especificamente, refere-se à conversão em lote, já que usei os exemplos acima para converter arquivos .chm únicos corretamente e, na descrição do utilitário, a conversão em lote é evidentemente um recurso.

    
por tony_perkis666 30.01.2013 / 01:38

1 resposta

3

Parece que sua sintaxe está correta, mas você precisará iterar os itens para um trabalho em lote.

Se eles estiverem todos na mesma pasta, algo tão simples quanto esse script deve funcionar:

#!/usr/bin/env bash

for i in 'find . -maxdepth 1 -type f -name "*.chm"'; do
    /usr/bin/chm2pdf --book ${i} 'echo ${i} | sed 's/.chm/.pdf/''
done

Isso deve estar mais perto do que você precisa.

Para explicar:

1) Você está listando todos os arquivos correspondentes com o tipo * .chm em uma profundidade máxima de 1 pasta (a pasta em que você está).
2) Para cada um desses, execute /usr/bin/chm2pdf com ${i} sendo o nome do item individual. Em seguida, substituindo o nome do arquivo para o arquivo de saída de "whatever.chm" para "whatever.pdf". 3) Então pronto.

    
por 30.01.2013 / 02:06