我正在将多行字符串从vbscript传递到批处理文件。但是,当我尝试从批处理文件中获取整个字符串时,它只接收第一行。如何让批处理文件知道读取整个字符串,而不是停在换行符处。将多行字符串传递到批处理文件
输入:
C:\ ComponentA
C:\以componentB
C:\ ComponentC
的VBScript:
multstring = "C:\Component_A" + Chr(13) + Chr(10) + "C:\ComponentB" +
Chr(13) + Chr(10) + "C:\ComponentC" + Chr(13) + Chr(10)
script_path = "runscript.bat """ + multstring + """
Shell(script_path)
批次:
set "scriptargs=%~1"
echo "%scriptargs%"
setlocal enableDelayedExpansion
echo !scriptargs!
输出我得到:
C:\ ComponentA
输出通缉:
C:\ ComponentA
C:\以componentB
C: \ ComponentC
** cmd不适用于多行字符串**一次只能有一行。您可以将输入“|”输入到要处理的脚本中,但这需要一些奇特的脚本逻辑。我建议你只需用分隔符将输入连接成一行(比如';'),然后用'for'在脚本中解析它。 – 2015-02-06 15:53:35
@DavidRuhmann这正是我最终做的。通过特殊分隔符分隔。感谢您的回应。 – user2970916 2015-02-06 16:33:01
您发布的VBS代码无效 - 它无法提供您声称的输出。汇总代码时请注意发布工作示例。 – dbenham 2015-02-07 04:14:23