我正在尝试使用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:\
答案 0 :(得分:2)
如果Jeb's解决方案正确,则应该可以将批处理文件代码更改为此。
set "caret=^"
call bq extract -F"%%CARET%%|" my-project:my-dataset.mytable gs://myfolder/myfile.csv