首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在MS-DOS脚本中打印换行符?

如何在MS-DOS脚本中打印换行符?
EN

Stack Overflow用户
提问于 2009-02-23 16:33:41
回答 7查看 28.7K关注 0票数 7

我想在MS-DOS中打印一个程序的输出,所以我写了一个.bat文件,它写道:

代码语言:javascript
复制
cls
ruby foo.rb

但是当它出现在我的命令提示符上时,输出看起来像这样:

代码语言:javascript
复制
c:\workspace>ruby foo.rb
foo output
c:\workspace>

我想使用MS-DOS在输出中插入一个换行符,因为我不想让任何与代码应该做的事情无关的东西污染我的Ruby代码。

在MS-DOS中,唯一看起来像我想要的命令是'type‘和'print’,但这两个命令都是用来打印文件的。

我尝试创建一个包含两个空白行的文本文件,并使用'type‘命令将其输出,但它看起来很混乱。

任何想法都将不胜感激。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2009-02-23 16:37:14

echo.将生产一条新的生产线。

因此,您的脚本应该如下所示:

代码语言:javascript
复制
@ECHO OFF
cls
echo.
ruby foo.rb
票数 26
EN

Stack Overflow用户

发布于 2012-04-16 20:38:51

即使这里有4个使用ECHO.的相同提示的答案,这也不是最好的解决方案!

这有两个缺点。

  1. 它很慢

ECHO.比正常的echo命令慢约10倍,这是因为ECHO.将强制磁盘访问

  • 它可能会失败

如果存在名为ECHO (不带扩展名)的文件,则每个ECHO.命令都将导致找不到文件错误,而不是回显一个空行。

但是你能做什么呢?

对于一个简单的空行,有许多工作方法。

代码语言:javascript
复制
echo+
echo=
echo;
echo,
echo:
echo(

但有时您需要一种安全的方法来回显变量的内容,即使变量为空或包含/?\\..\..\windows\system32\calc.exe之类的奇怪内容。

ECHO<character>%variable%

代码语言:javascript
复制
echo=/?
echo;/?
echo,/?
echo:\\..\..\windows\system32\calc.exe

那么大多数命令都会失败,只有ECHO(在任何情况下都能工作。

它看起来有点奇怪,但它是有效的,它不需要也不会对结束括号造成任何麻烦。

票数 6
EN

Stack Overflow用户

发布于 2009-02-23 16:42:52

这样如何:

代码语言:javascript
复制
@echo off
cls
echo.
ruby foo.rb
echo.

再见

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/578302

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档