【问题标题】:Passing a comma (,) into the command line将逗号 (,) 传递到命令行
【发布时间】:2013-12-01 14:09:09
【问题描述】:

我有一个要传递给命令的字符串,该字符串包含多个用逗号分隔的代码。当我将此字符串传递到命令行时,它基本上停止在逗号后显示文本。

domainCodeList = "101, 102, 103, 104, 105"

'Now that we have populated the string with the possible domain codes, we now execute the batch file
strBatchName = SystemData.AppPath + "DetailedContacts.bat" & " " & domainCodeList
Shell strBatchName

运行时,我在命令中得到的输出如下:

我的批处理文件的代码是:

@echo off
echo %1

任何关于如何将逗号传递到命令行的帮助都会很棒!谢谢 暂停

【问题讨论】:

  • 在您的批处理文件中,将 echo %1 更改为 echo %*
  • 太棒了,但是现在说我想传递两个参数,我该如何在 %1 和 %2 之间进行选择?
  • 当您使用%* 时,您是说从命令行传递所有参数,因此您必须编写自己的代码来解析每个参数。使用下面的 MC ND 的答案,然后它只是 %1 %2 等。

标签: shell vba batch-file parameters cmd


【解决方案1】:
strBatchName = SystemData.AppPath + "DetailedContacts.bat" & " " & """" & domainCodeList & """"

或者

strBatchName = SystemData.AppPath + "DetailedContacts.bat" & " " & Chr(34) & domainCodeList & Chr(34)

参数中带有空格或特殊字符的参数需要加引号。

从您的批处理文件中使用 %1 检索带引号的参数或使用 %~1 检索不带引号的参数。

【讨论】:

    猜你喜欢
    • 2020-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-18
    • 2013-02-08
    • 1970-01-01
    • 2013-10-07
    • 1970-01-01
    相关资源
    最近更新 更多