Windows命令提示符:如何传递多行字符串参数

时间:2012-08-14 07:55:31

标签: windows command-prompt

我有一个接受字符串参数的程序。我创建了一个执行程序的批处理文件和一个多行字符串参数。我在多行字符串后面还有第二个参数。

C:\>MyProgram "This is a
multiline text" parameter2

当我运行它时,命令中只包含第一行字符串,后续行和第二个参数将被忽略。有没有办法传递多行字符串参数?

3 个答案:

答案 0 :(得分:9)

您的问题是重复的 - Windows: How to specify multiline command on command prompt?

  

在Windows命令提示符中,^用于转义下一个   命令行上的字符。

     

例如,(更多?是提示):

C:\>cd "c:\Program Files" ^
More? "\Common Files"

C:\>MyProgram "This is a " ^  
More? "multiline text" parameter2

答案 1 :(得分:1)

此例程会将多行写入驱动器和目录F:\Backup_Info中的文本文件ASM.txt中。请注意,它将使用空格和^符号来给出一个行距,如图所示,每个语句之间需要一个行距:

(echo To Do is to Understand^

Who Dares Wins^

 ^

Baz) > F:\Backup_Info\ASM.txt

答案 2 :(得分:0)

您可以将^的输出另存为变量

set br= ^
<</br (newline)>>
<</br>>

示例:

@echo off
setlocal enableExtensions enableDelayedExpansion
rem cd /D "%~dp0"
set br= ^


rem br, can't be saved to a var. by using %..%;


set "t=t1!br!t2!br!t3"

for /f "usebackq tokens=* delims=" %%q in ('!t!') do (
    echo %%q
)


:scIn
rem endlocal
pause
rem exit /b

;输出:

t1
t2
t3
Press any key to continue . . .