.bat文件中的管道定界符

时间:2019-04-05 16:55:35

标签: windows batch-file google-bigquery command-line-arguments

我正在尝试使用bat文件中的bq命令将表从 BigQuery 导出到 Google CLoud Storage (GCS)。该命令具有要导出为管道定界文件的参数。该命令可以从CLI正常使用,但是当我使用call命令从bat文件运行时,它会打开命令但不执行它。注意:在没有管道定界符参数的情况下,可以执行相同的操作。

知道为什么吗?

call bq extract -F^^^| my-project:my-dataset.mytable gs://myfolder/myfile.csv

这是我的bat文件中仅有的一行。当我从命令行运行时,它起作用:

C:\bq extract -F^^^| my-project:my-dataset.mytable gs://myfolder/myfile.csv

输出:

  

正在等待bqjob_r01419067_00000169eed1d868_1 ...(0s)当前状态:完成

运行bat文件时,C:\test.bat

输出:

  

C:\ bq提取-F ^ |我的项目:my-dataset.mytable gs://myfolder/myfile.csv   C:\

1 个答案:

答案 0 :(得分:2)

如果Jeb's解决方案正确,则应该可以将批处理文件代码更改为此。

set "caret=^"
call bq extract -F"%%CARET%%|" my-project:my-dataset.mytable gs://myfolder/myfile.csv