При выводе сообщений о состоянии на консоль из командного файла Windows я хочу вывести пустые строки, чтобы разбить выход. Как мне это сделать?Эхо пустую (пустую) строку на консоль из командного файла Windows
ответ
Примечание: Хотя мой первоначальный ответ привлек несколько upvotes, я решил, что я мог бы сделать гораздо лучше. Вы можете найти мой оригинальный (упрощенный и ошибочный) ответ в истории редактирования.
Если Microsoft имела намерение обеспечения средств вывода пустую строку из cmd.exe
, Microsoft, несомненно, был бы документально такую простую операцию. Именно это упущение побудило меня задать этот вопрос.
Таким образом, так как средство для вывода пустой строки из cmd.exe
является не документально, возможно, следует рассмотреть любые предложения о том, как добиться, чтобы это было взломать. Это означает, что не существует известного способа вывода пустой строки из cmd.exe
, которая гарантирует, чтобы работать (или работать эффективно) в все ситуаций.
Имея это в виду, рассмотрим методы, которые были рекомендованы для вывода пустой строки из cmd.exe
. Все рекомендации основаны на изменениях команды echo
.
echo.
В то время как это будет работать во многих, если не в большинстве ситуаций, следует избегать, потому что это медленнее, чем его альтернативы и на самом деле может не (см here, here и here). В частности, cmd.exe
сначала ищет файл с именем echo
и пытается его запустить. Если файл с именем echo
происходит существовать в текущем рабочем каталоге, echo.
будет завершаться:
'echo.' is not recognized as an internal or external command,
operable program or batch file.
echo:
echo\
В конце this answer, автор утверждает, что эти команды могут быть медленными, например, если они выполняются из местоположения сетевого диска. Конкретная причина потенциальной медленности не указана. Но можно сделать вывод, что он может иметь какое-то отношение к доступу к файловой системе. (Может быть, потому, что :
и \
имеют особое значение в пути файловой системы Windows,?)
Однако, некоторые из них могут рассмотреть эти быть безопасными вариантами, так как :
и \
не могут появляться в имени файла. По той или иной причине, echo:
рекомендуется по SS64.com here.
echo(
echo+
echo,
echo/
echo;
echo=
echo[
echo]
This lengthy discussion включает в себя то, что я считаю все это. Некоторые из этих вариантов рекомендуются также в this SO answer.В приведенной ниже статье this post заканчивается рекомендацией для echo(
и echo:
.
Мой вопрос в верхней части этой страницы не указывает версию Windows. Мои эксперименты в Windows 10 показывают, что все из них создают пустую строку, независимо от того, существуют ли в текущем рабочем каталоге файлы с именами echo
, echo+
, echo,
, ..., echo]
. (Обратите внимание, что мой вопрос предшествует выпуск ОС Windows 10. Таким образом, я признаю возможность того, что более ранние версии Windows, может вести себя по-разному.)
В this answer, @jeb утверждает, что echo(
всегда работы. Для меня ответ @ jeb подразумевает, что другие варианты менее надежны, но не содержат каких-либо подробностей относительно того, почему это может быть. Обратите внимание, что @jeb внесла очень ценный контент в другие ссылки, которые я привел в этом ответе.
Вывод: ли не использование echo.
. Из многих других вариантов я столкнулся в источниках я цитируемых, поддержка этих двух появляется наиболее авторитетных:
echo(
echo:
Но я не нашел каких-либо убедительных доказательств, что использование любого из них всегда будет УСТРАНЕНИЕ свободно.
Пример:
@echo off
echo Here is the first line.
echo(
echo There is a blank line above this line.
Ожидаемые результаты:
Here is the first line.
There is a blank line above this line.
Существует часто кончик, чтобы использовать 'эхо'.
Но это медленный процесс, и он может выйти из строя с сообщением об ошибке, поскольку cmd.exe будет искать сначала файл с именем 'echo' (без расширения), и только когда файл не существует, он выводит пустую строку ,
Вы можете использовать echo(
. Это примерно в 20 раз быстрее, и он работает всегда. Единственным недостатком может быть то, что он выглядит странно.
Подробнее о различных вариантах ECHO:/\
на DOS tips: ECHO. FAILS to give text or blank line.
У вас есть источник, который подчеркивает эту проблему? –
IMHO совершенно бессмысленно беспокоиться о скорости в пакетном режиме - если ваше узкое место производительности находится в пакетном файле, вы не пытаетесь его оптимизировать - вы выбросите его, чтобы переписать его на реальном языке. –
@MatteoItalia, это не связано со скоростью. Если он делает что-то лишнее (поиск сначала для файла с именем 'echo' без расширения), то это неправильно, и если есть файл как таковой, он действительно провалится. Дополнительные баллы, если батчер не удается в выходные дни, когда все вечеринки проходят в полстраны. – Pacerier
Любой из перечисленных ниже трех вариантов работы для Вас:
echo[
echo(
echo.
Например:
@echo off
echo There will be a blank line below
echo[
echo Above line is blank
echo(
echo The above line is also blank.
echo.
echo The above line is also blank.
Осторожно, «echo.'» может не работать, см. Комментарии по адресу http://stackoverflow.com/ вопросы/132799/как-кан-ты-эхо-а-символ новой строки в порционных-файлах # comment51325122_3123194 – Pacerier
- 1. IDE показывает пустую консоль
- 2. RealPath возвращает пустую строку
- 3. Почему python печатает пустую строку из файла
- 4. Как удалить пустую строку из этого файла?
- 5. Удалить пустую/новую строку из выходного файла
- 6. Удалить пустую строку из моего файла
- 7. SQL Plus: удалить пустую/пустую строку в конце текстового файла
- 8. Как преобразовать пустую строку в пустую дату?
- 9. fgets пропустить пустую строку
- 10. Функция php возвращает пустую строку. эхо правильно печатает строку;
- 11. md5 возвращает пустую строку
- 12. User.Identity.Name возвращает пустую строку
- 13. django возвращает пустую/пустую строку как None
- 14. RegExp возвращает пустую строку
- 15. Заменить пустую/пустую строку с результатом из другой записи
- 16. возвращает пустую строку из preg_split
- 17. finfo_file возвращает пустую строку
- 18. программа, оставляющая пустую строку
- 19. Tensorflow Tensorboard на Windows, показывает пустую страницу
- 20. Как отличить пустую строку?
- 21. ifstream возвращает пустую строку?
- 22. Как преобразовать пустую строку в пустую строку в retrofit2?
- 23. Удалить пустую новую строку в конце файла
- 24. Настройка NotANumberSymbol на пустую строку?
- 25. Использование СЛУЧАЙ на пустую строку
- 26. getline возвращает пустую строку
- 27. file_get_contents() возвращает пустую строку
- 28. subprocess.popen, возвращающий пустую строку
- 29. Шифровать пустую строку
- 30. json_decode возвращает пустую строку
Я не верю, что вопрос [Как вы можете повторить перевод строки в пакетных файлах?] (http://stackoverflow.com/q/132799/1497596) является дубликатом этого вопроса. Суть этого вопроса заключается в следующем: ** Используя одно выражение 'echo', как я могу выводить две строки текста с новой линией между ними? ** Тем не менее, несколько ответов на этот вопрос также касаются того, как выводить пустые (пустые) строки. – DavidRR
Поскольку этот пост больше не принимает ответы ... Правильный ответ: 'echo:' согласно следующей ссылке. http://ss64.com/nt/echo.html – H2ONaCl
В заключение ссылки ss64, опубликованной для 'echo' ...' echo.', ищет файл с именем 'echo' и создает только пустую строку, если такой файл не существует. Эта характеристика делает «эхо» более медленным и менее надежным, чем «эхо:». – u8it