2016-03-15 12 views
0

сценария, в котором я застрял в том, что у меня есть нормальные окна текстового файл 'command.txt', который я копирую на удаленном сервере (unix) из моей локальной машины (windows), используя "pscp 'от cmd.Не удалось найти окна команды для преобразования файлов DOS в UNIX

Файл содержит некоторые команды unix, которые необходимы для запуска на удаленном сервере. Копия выполнена успешно, но она копируется как файл dos. Вот почему, когда я пытаюсь запустить command.txt файл из моей локальной машине с помощью «Plink» как:

plink -pw password [email protected] bash -m /location of command.txt on the server/command.txt 

Он не может выполнить command.txt. Итак, мне нужна команда windows или может быть какой-то опцией pscp для преобразования моего файла в текстовый файл unix, прежде чем копировать его на удаленном сервере.

Решение, которое я знаю, использует dos2unix, но я не хочу его использовать.

+1

* Решение, которое я знаю, использует dos2unix, но я не хочу его использовать. * Почему? –

+0

, поскольку он работает на Linux, и поскольку я пытаюсь выполнить непрерывное развертывание, частью которого является эта задача, каждая задача должна выполняться на локальных машинах, то есть в окнах. – prachi309

ответ

2

У вас возникли проблемы с символами LF (строка строки) в текстовых файлах, созданных в окне Windows. Если файл не большой вы не можете использовать то есть VBScript (это все коробки для Windows, поэтому нет необходимости устанавливать дополнительные инструменты), чтобы удалить символы LF:

Dim objFSO 
Dim objOutput 
Set objFSO = CreateObject("Scripting.FileSystemObject") 
Set objOutput = objFSO.CreateTextFile("out.txt") 
arrData = Split(objFSO.OpenTextFile("in.txt").ReadAll, vbLf) 

For Each Item In arrData 
    strData = strData & Replace(Item, vbLf, "") 
Next 
objOutput.WriteLine strData 
objOutput.Close 

сценария, представленные выше процессов in.txt файл в из. txt, но может быть легко расширен, чтобы принимать имена файлов из командной строки.

Вы можете выполнить выше сценарий с помощью cscript команды:

cscript rem.vbs 
1

Вы можете запустить dos2unix на Windows, тоже. Dos2unix не ограничивается Linux. Он работает на многих платформах, включая Windows. Вам нужно только установить его.

0

Благодарим за ответы. Дело в том, что я должен выполнять эту задачу только с предоставленной мне средой, которая является Windows и без загрузки новых функций (я знаю его глупо, но у меня нет другого выбора). Одно из решений, которое я нашел, - открыть файл в блокноте ++, перейти на вкладку формата и выбрать «конвертировать в формат UNIX». Он работает нормально, но как только я копирую файл в другом месте, его формат снова возвращается в формат Windows.

Есть ли способ сохранить изменения в формате?