Подтвердить что ты не робот

Как использовать символ новой строки в тексте в cmd-партии?

Я хотел бы сделать

svn commit -m "<message>"

Но сообщение должно иметь две строки:

Commit by: firstuser
Bug track: 9283

Как добавить новый символ строки в сообщение? Я пробовал SHIFT + ENTER, CTRL + T, но он не работает. Я использую командную строку MS cmd.

4b9b3361

Ответ 1

Как использовать параметр -F для получения сообщения журнала из файла?

Затем вы можете сделать это (untested):

ECHO Commit by: firstuser>SvnLog.txt
ECHO Bug track: 9283>>SvnLog.txt

SVN COMMIT -F SvnLog.txt

Ответ 3

Чтобы создать новую строку в svn-сообщении, лучшим способом является афория с дополнительным файлом-сообщением.

Но это можно сделать также с помощью -m

Пример с пакетным файлом

@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
set lf=^


rem ** Two empty lines are neccessary for creating the Linefeed
svn commit -m "A!lf!Message!lf!with!LF!newline"

Вы также можете использовать его в командной строке

svn commit -m ^"This is a^
MORE?
MORE?my newline"

Ответ 4

У меня была такая же проблема, и хотя ответ Claes Mogren не работает с cmd.exe, это заставило меня подумать, есть ли в Windows оболочка, которая может это сделать.
И, конечно же, есть... PowerShell.

Используя оболочку PowerShell, вы можете добиться этого, используя следующую команду:

svn ci -m "reference to Ninject fixed`nsome ignores added"

Обратите внимание на комбинацию backqoute и n в сообщении

`n

Ответ 5

Просто напишите svn ci -m "old line нажмите Enter, затем введите следующую строку new line"

Example

Это намного проще, чем использование файла.

Ответ 6

Вы можете определить новую строку следующим образом:

set newline=^& echo.

Затем вы можете использовать новую строку в других операторах, например: (без кавычек)

echo This is the first line%newline%This is the second line
echo "This is the first line"%newline%"This is the second line"

или с дополнительной кареткой, например:

set text=This is the first line^%newline%This is the second line

Возможно, вы можете играть с этим, но помните о комбинации с кавычками!

Ответ 7

Я использую следующий метод, и он работает:

svn commit {list of files to commit}

После ввода вышеуказанной команды и нажатия клавиши ввода откроется редактор. Напишите свой комментарий там и выйдите из редактора. После выхода из редактора команда commit будет выполнена, и все, что вы написали в редакторе, также будет выполнено.

Ответ 8

Проблема заключается в том, что "enter" (Ascii 13) отправляет команду. Итак, вам нужна "новая линия"

используйте alt + 10 (нажмите alt, введите номер в числовом блоке, отпустите alt)

Ответ 9

Это работает для нас:

закрытый статический окончательный char LF = (char) 13;

setMessage("Test"  + LF + "Jij" + LF + "Dit" + LF + "Effe");

Ответ 10

Напишите сообщение в текстовом редакторе и просто скопируйте его и вставьте в терминал (редактор команд).

  • Просто введите текст в текстовом редакторе в нескольких строках.

    -m "Строка сообщений

    Строка сообщения 2

    Строка сообщения 3 "

  • Введите требуемую команду в редакторе команд.

    Команда svn

  • Скопируйте и вставьте содержимое сообщения из текстового редактора в редактор команд.

    svn command -m "Строка сообщения 1.

    Строка сообщения 2

    Строка сообщения 3 "

4. Выполните ввод.

5.It works:)

Ответ 11

Дополнительный пример к ответу @jeb

ответ:

set br= ^
<</br (newline)>>
<</br>>

пример:

@echo off
setlocal enableExtensions enableDelayedExpansion
rem cd /D "%~dp0"
set br= ^


rem br, can't be saved to a var. by using %..%;


set "t=t1!br!t2!br!t3"

for /f "usebackq tokens=* delims=" %%q in ('!t!') do (
    echo %%q
)


:scIn
rem endlocal
pause
rem exit /b

; выход:

t1
t2
t3
Press any key to continue . . .

Ответ 12

Попробуйте что-то вроде этого:

echo Message1 и echo Message2 и echo Message3