【问题标题】:How input a file data for command in windows powershell/cmd如何在 windows powershell/cmd 中为命令输入文件数据
【发布时间】:2021-03-08 18:07:15
【问题描述】:

我正在尝试在 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 中尝试了很多方法,但都没有奏效,我们将不胜感激

谢谢

【问题讨论】:

标签: windows powershell command-line-interface bcp


【解决方案1】:

相当于这个bash命令:

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

这是 PowerShell 命令吗:

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

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

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

bcp ((Get-Content -Raw C:/Users/mahendra.hegde/Desktop/input.sql) -replace '"', '\"') queryout

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-14
    • 1970-01-01
    • 1970-01-01
    • 2022-09-27
    • 1970-01-01
    相关资源
    最近更新 更多