2012-02-22 131 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的只是如何开始的,在这种情况下,它通常是这样​​。

相关问题