2012-02-22 119 views
4

如果我通過文字是這樣的:如何將新文本作爲參數傳遞給bat文件?

first line 
second line 

到一個.bat文件,它走的是第一線只能作爲一個參數值。

我該如何解決這個問題? 謝謝

+0

如何將文本傳遞給批處理文件?從外部程序,從命令行,你如何插入換行符? – jeb 2012-02-22 11:14:16

回答

2

幾乎不可能在批處理文件參數中傳遞換行符。它可以完成,但我不認爲任何人已經開發出一種實用的方式來正確讀取批處理文件中的這樣一個參數。

最好的辦法是定義一個包含兩行文本(包括換行符)的環境變量。然後將變量的名稱作爲參數傳遞給批處理,然後讓批處理文件使用延遲擴展訪問該值。

下的test.bat:

@echo off 
setlocal enableDelayedExpansion 
echo !%1! 

在命令行:

>set multiLine=hello^ 
More? 
More? world 

>test multiLine 
hello 
world 

任何有興趣,這裏是關於批處理參數換行符傑布發起討論:http://www.dostips.com/forum/viewtopic.php?t=1768

0

你可以訪問所有參數,但僅當批處理文件以cmd /c,ex。像拖動&放下操作。

@echo off 
setlocal EnableDelayedExpansion 
echo !cmdcmdline! 

但是如果你從提示啓動批處理文件,那麼這將不是cmdcmdline工作包含cmd.exe的只是如何開始的,在這種情況下,它通常是這樣​​。

相關問題