繁体   English   中英

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

[英]Windows Command Prompt: How to pass multi-line string parameters

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

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

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

您的问题与 - Windows:如何在命令提示符下指定多行命令重复

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

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

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

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

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

(echo To Do is to Understand^

Who Dares Wins^

 ^

Baz) > F:\Backup_Info\ASM.txt

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

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 . . .

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM