0

我正在尝试在 Windows 机器 powershell 中运行 BCP 命令,但无法从 sql 文件中提供输入。

下面的命令在我的 MAC 中运行良好,我正在为 Windows 机器寻找相同的命令。

bcp "$(< /Users/mahendra.hegde/Desktop/input.sql)" queryout /Users/mahendra.hegde/dataout.json -c -T -S sample.env.compxyz.com

input.sql 文件脚本在运行时应作为输入传递给 bcp 命令。

我在 Windows 中尝试了很多方法,但没有奏效,任何帮助将不胜感激

谢谢

4

1 回答 1

2

bash此命令的等效项:

bcp "$(< /Users/mahendra.hegde/Desktop/input.sql)" queryout

是这个 PowerShell 命令:

bcp (Get-Content -Raw C:/Users/mahendra.hegde/Desktop/input.sql) queryout

这两个命令都将指定文件的内容作为单个多行字符串传递给bcp实用程序;请参阅Get-Contentcmdlet 的文档。

"但是,从 PowerShell 7.1 开始,由于带有嵌入字符的参数传递中断- 请参阅此答案.sql- 如果文件包含"字符,则需要做更多的工作;在最简单的情况下:

bcp ((Get-Content -Raw C:/Users/mahendra.hegde/Desktop/input.sql) -replace '"', '\"') queryout
于 2021-03-08T18:51:12.690 回答