Как использовать символ новой строки в тексте в пакете cmd?
Я хотел бы сделать
svn commit -m "<message>"
но сообщение должно быть две строки:
Commit by: firstuser
Bug track: 9283
Как добавить новый символ строки в сообщение? Я пробовал SHIFT+ENTER, CTRL+T, но это не работает. Я использую командную строку MS cmd.
11 ответов
Как насчет использования -F
параметр для получения сообщения журнала из файла?
тогда вы можете сделать это (непроверено):
ECHO Commit by: firstuser>SvnLog.txt
ECHO Bug track: 9283>>SvnLog.txt
SVN COMMIT -F SvnLog.txt
Я нашел ответ на Serverfault:
svn ci -m $'This is the first line\nThis is the second line'
видимо это shell-проблема.
у меня была та же проблема, и пока ответ Клааса Могрена не работает с cmd.exe это заставило меня подумать, есть ли оболочка в Windows, которая может это сделать.
И, конечно, есть... В PowerShell.
используя оболочку PowerShell, вы можете достичь этого, используя следующую команду:
svn ci -m "reference to Ninject fixed`nsome ignores added"
обратите внимание на комбинацию backqoute и n в сообщении
`n
чтобы создать новую строку в сообщении svn, лучше всего использовать aphoria с дополнительным файлом сообщения.
но это можно сделать и с помощью -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"
просто писать svn ci -m "old line
пресс Enter затем введите следующую строку new line"
Это намного проще, чем использовать файл.
вы можете определить строку следующим образом:
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
возможно, вы можете играть с этим, но имейте в виду комбинацию с цитатами!
Я использую следующий метод, и он работает:
svn commit {list of files to commit}
после ввода вышеуказанной команды и нажатия enter откроется редактор. Напишите там свой комментарий и выйдите из редактора. После выхода из редактора команда commit будет выполнена, и все, что вы написали в редакторе, также будет зафиксировано.
проблема в том, что" enter " (Ascii 13) отправляет команду. Итак, вам нужна "новая строка"
используйте alt + 10 (нажмите alt, введите номер в блоке numberblock, отпустите alt)
это работает для нас:
частный статический конечный символ LF = (char) 13;
setMessage("Test" + LF + "Jij" + LF + "Dit" + LF + "Effe");
напишите сообщение в текстовом редакторе и просто скопируйте и вставьте его в терминал(редактор команд).
-
просто введите сообщение в текстовом редакторе, в несколько строк.
-m "строка сообщения
сообщение 2
строка сообщения 3"
-
введите требуемую команду в Редакторе команд.
команда svn
-
скопируйте и вставьте содержимое сообщения из текстового редактора в команду редактор.
svn command-m "строка сообщения 1.
сообщение 2
строка сообщения 3"
4.Выполнить Ввод .
5.Работает:)