我有一个接受字符串参数的程序。我创建了一个执行程序的批处理文件和一个多行字符串参数。在多行字符串之后我还有第二个参数。
C:\>MyProgram "This is a
multiline text" parameter2
当我运行它时,命令中只包含第一行字符串,随后的行和第二个参数被忽略。有没有办法传递多行字符串参数?
我有一个接受字符串参数的程序。我创建了一个执行程序的批处理文件和一个多行字符串参数。在多行字符串之后我还有第二个参数。
C:\>MyProgram "This is a
multiline text" parameter2
当我运行它时,命令中只包含第一行字符串,随后的行和第二个参数被忽略。有没有办法传递多行字符串参数?
您的问题与 -Windows:如何在命令提示符下指定多行命令重复?
在 Windows 命令提示符中,^ 用于转义命令行中的下一个字符。
例如,(More? 是一个提示):
C:\>cd "c:\Program Files" ^
More? "\Common Files"
C:\>MyProgram "This is a " ^
More? "multiline text" parameter2
该例程将多行写入 .txt 的驱动器和目录中的文本文件 ASM.txt 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 . . .