2

Я ищу конвертер EOL для Windows с интеграцией Explorer, чтобы я мог просто щелкнуть правой кнопкой мыши по файлу и выбрать, в какой тип конца строки я хочу преобразовать. Я часто сталкиваюсь с файлами, которые имеют несовместимые окончания строк, и Subversion отказывается и фиксирует их, пока я не исправлю их.

1 ответ1

2

С помощью этого решения вы можете щелкнуть правой кнопкой мыши любой файл и преобразовать из LF (Unix, Linux, Mac OS X) в CR+LF (Windows) разрывы строк

  1. Создать .CMD файл куда-нибудь и вставьте следующий код

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

    Строки 1-4 предназначены только для правильного переименования выходного файла и добавления «(CR+LF)» к имени файла
    Вы можете прочитать больше о пакетных аргументах здесь.
    Ключ в том, что TYPE умеет читать окончания строк LF

  2. Сохранить ярлык из.Файл CMD в вашей папке sendto (оболочка Win+R »:sendto)

Для получения дополнительных инструкций по преобразованию загрузите утилиту командной строки dos2unix и используйте ее так же, как показано выше. Просто замени последнюю строчку. Синтаксис всегда один и тот же.

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

Notepad++ имеет удобную опцию преобразования в EOL, но я думаю, вы уже знаете об этом, и это не очень удобно и недостаточно быстро, чтобы открывать, конвертировать и сохранять файл. К сожалению, notepad++ не предоставляет переключателей командной строки для этой конкретной задачи.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .