【问题标题】:BCP command in powershellPowershell 中的 BCP 命令
【发布时间】:2018-10-18 19:15:44
【问题描述】:

在 bash 中,我使用以下 bcp 命令来创建 XML 格式:

bcp DATABASE.[UserData] format nul -c -x -f F:\UsageExports\UserData.xml -t, -T

但是,当我在 Powershell 中运行相同的命令时,我收到错误:Missing argument in parameter list

我也尝试在不使用 Powershell 的情况下执行命令:

bcp DATABASE.[UserData] format nul -c -x -f F:\UsageExports\UserData.xml -t -T

但是,-t 标记不起作用,并且 XML 中不包含终止符。

【问题讨论】:

    标签: bash powershell bcp


    【解决方案1】:

    在将参数传递给外部命令时,PowerShell 可能相当挑剔。通常处理这种情况的最好方法是用参数定义一个数组,然后在命令上splat该数组:

    $params = 'DATABASE.[UserData]', 'format', 'nul', '-c', '-x',
              '-f', 'F:\UsageExports\UserData.xml', '-t,', '-T'
    
    & bcp @params
    

    在您的情况下,问题可能是由参数, 的参数-t 引起的。 PowerShell 中的逗号用于构造数组。我猜想-t, -T 被解释为@('-t', '-T'),然后在调用外部命令时被改写为'-t -T'

    【讨论】:

      猜你喜欢
      • 2020-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多