bash - Powershell 中的 BCP 命令
问题描述
在 bash 中,我使用以下 bcp 命令创建 XML 格式:
bcp DATABASE.[UserData] format nul -c -x -f F:\UsageExports\UserData.xml -t, -T
但是,当我在 Powershell 中运行相同的命令时,出现错误:参数列表中缺少参数
我还尝试在不使用 Powershell 的情况下执行命令:
bcp DATABASE.[UserData] format nul -c -x -f F:\UsageExports\UserData.xml -t -T
但是,-t 标记不起作用,并且 XML 中不包含终止符。
解决方案
在将参数传递给外部命令时,PowerShell 可能相当挑剔。通常处理这种情况的最好方法是用参数定义一个数组,然后将该数组放在命令上:
$params = 'DATABASE.[UserData]', 'format', 'nul', '-c', '-x',
'-f', 'F:\UsageExports\UserData.xml', '-t,', '-T'
& bcp @params
在您的情况下,问题可能是由 parameter 的,
参数引起的-t
。PowerShell 中的逗号用于构造数组。我猜想这-t, -T
被解释为@('-t', '-T')
然后'-t -T'
在调用外部命令时被破坏。
推荐阅读
- elasticsearch - Elasticsearch Nest 是否支持按查询更新
- javascript - Node JS 使用 Multer 缓慢上传
- statistics - 从分布中生成样本
- php - PHP - 带有 SQL 查询的构造函数
- android - 升级后 Android Studio 和 McAfee 的 CPU 使用率为 100%
- c# - Microsoft.Common.props 有什么作用
- python - 如何返回包含子列表的列表中的重复元素?
- java - 将文本附加到文件并同时将其内容打印到控制台?
- java - 网格宽度和网格高度不起作用
- markdown - 内部链接在 Jekyll 中对我不起作用