2009-02-23 74 views
5

我想打印在MS-DOS程序的輸出,所以我寫了一個.bat文件,上面寫着:如何在MS-DOS腳本中打印換行符?

cls 
ruby foo.rb 

但產量 - 因爲它出現在我的命令提示符 - 看起來是這樣的:

c:\workspace>ruby foo.rb 
foo output 
c:\workspace> 

我想用MS-DOS在輸出中插入換行符,因爲我不想用任何與代碼應該做的事情無關的東西來污染我的Ruby代碼。

在MS-DOS中,看起來像我想要的只有'類型'和'打印',但都是打印文件。

我試着用兩個空行創建一個文本文件並使用'type'命令輸出它,但看起來很亂。

任何想法,將不勝感激。

+0

的規範問題是*(HTTP。[你怎麼能迴響在批處理文件換行?]:/ /stackoverflow.com/questions/132799/how-can-you-echo-a-newline-in-batch-file S)*。 – 2015-10-21 09:20:42

+0

@PeterMortensen儘管標題相似,但這是一個不同的問題。這個問題詢問如何輸出一個空行。您鏈接的問題會詢問如何在各自的行上輸出兩個單詞。 – 2015-10-22 01:00:36

回答

24

echo.會產生一個新行。

所以你的腳本應該是這個樣子:

@ECHO OFF 
cls 
echo. 
ruby foo.rb 
+2

你救了我一定的死亡。謝謝。 – 2009-02-23 17:44:53

+0

使用echo([改爲](http://stackoverflow.com/a/3123194/209129) – 2016-10-07 20:38:27

3

嘗試此

echo. 
2

使用echo命令後跟一個句點在MS-DOS批處理文件,以顯示一個新的行:

echo. 
0

我不清楚你想要的這裏,但也許這將幫助。

如果您想將輸出發送到別的地方,請使用dos輸出「pipe」。

ruby foo.rb > out.txt 

將輸出ruby命令的輸出到out.txt文件。

如果要控制輸出,請使用ECHO。

@ECHO OFF/ON //turns off/on command output 
ECHO "Blah" //writes "Blah" to the console. 
ECHO. //writes a blank line to the console. 
+1

)最後一個不會回顯空行,它根據第一個設置的狀態回顯「on」或「off」爲了得到一個空行,你必須像其他人指出的那樣`echo.` – beltorak 2011-05-25 14:20:01

4

怎麼樣:

@echo off 
cls 
echo. 
ruby foo.rb 
echo. 

再見

4

即使這裏有4個答案,以相同的提示使用ECHO.,這不是最好的解決辦法!

有兩個缺點。

  1. 它很慢
    ECHO.是〜比正常echo命令慢10倍,這是因爲ECHO.將迫使磁盤訪問

  2. 如果一個文件名存在,它可能會失敗
    ECHO(沒有擴展名)則每個ECHO.命令都會導致文件找不到錯誤,而不是回顯空行。

但是你能做什麼呢?
對於一條簡單的空行,有許多工作方式。

echo+ 
echo= 
echo; 
echo, 
echo: 
echo(

但有時你想呼應一個變量的內容即使變量爲空或包含內容的奇像/?\\..\..\windows\system32\calc.exe的安全方式。

ECHO<character>%variable%

echo=/? 
echo;/? 
echo,/? 
echo:\\..\..\windows\system32\calc.exe 

那麼最命令就會失敗,只有ECHO(在任何情況下工作。
它看起來有點奇怪,但它的工作原理,它不需要也沒有任何關閉括號的麻煩。

1

我同意jeb。 「回聲(」肯定是更快,不會調用文件訪問,只需嘗試一下,你就會知道,下面是一個小測試,你可能想試試看)

創建一個名爲「echo」的文件,然後在同一目錄下創建一個test.bat的或TEST.CMD文件必須在腳本中的以下內容:?

@echo off 
echo %time% 
echo. 
echo Hello, World 
echo. 
echo. 
echo What time is it? 
echo. 
echo It's Miller Time! 
echo. 
echo. 
echo CHEERS! 
echo. 
echo %time% 

運行新創建的批處理文件,那你得到一堆錯誤信息,當一個文件「回聲「存在於同一目錄中

現在,刪除」回聲「文件

在我的系統上,由於發生文件訪問,從開始到結束使用「回聲」方法大約需要0.05秒。

現在,替換所有「回聲」。在上面「回聲(」測試文件並重新運行。

大約需要0.01秒從開始使用「回聲(」語句來完成。

最終測試,再引入一個名爲「回聲「在同一個目錄,然後運行該批處理最後一次

任何錯誤消息

QED

相關問題