Conversor EOL como uma extensão do shell

2

Estou procurando um conversor EOL para Windows com integração com o Explorer para que eu possa simplesmente clicar com o botão direito do mouse em um arquivo e selecionar em qual tipo de fim de linha quero converter. Eu freqüentemente me deparo com arquivos que possuem terminações de linha inconsistentes, e o Subversion recusa e comete esses arquivos até que eu os corrija.

    
por JesperE 11.02.2013 / 12:18

1 resposta

2

Com esta solução, você pode clicar com o botão direito em qualquer arquivo e converter de LF (Unix, Linux, Mac OS X) para CR+LF (Windows) quebras de linha

  1. Crie um arquivo .CMD em algum lugar e cole o seguinte código

    SET "output=%~1"
    SET "search=\%~n1."
    SET "replace=\%~n1 (CR+LF)."        
    CALL SET "output=%%output:%search%=%replace%%%"
    
    TYPE "%~1" | FIND "" /V > "%output%"
    

    Linha 1-4 são apenas para renomear o arquivo de saída corretamente e acrescentar "(CR + LF)" ao nome do arquivo
    Você pode ler mais sobre argumentos em lote aqui.
    A chave é que TYPE sabe como ler os finais de linha de LF

  2. Salve um atalho do arquivo .CMD na sua pasta sendto ( Win + R »shell: sendto)

Para instruções adicionais de conversão, faça o download do utilitário de linha de comando dos2unix e use-o da mesma maneira mostrada acima . Apenas substitua a última linha. A sintaxe é sempre a mesma.

dos2unix "%~1" "%output%"
mac2unix "%~1" "%output%"  
unix2dos "%~1" "%output%"  
unix2mac "%~1" "%output%"  

O Notepad ++ tem uma opção prática de conversão EOL, mas eu acho que você já sabe disso e não é confortável e rápido o suficiente para abrir, converter e salvar o arquivo. Infelizmente, o notepad ++ não fornece opções de linha de comando para essa tarefa específica.

    
por 11.02.2013 / 16:08