.bat 文件中的管道分隔符

Pipe delimiter in .bat file

我正在尝试使用 BigQuery 将 table 导出到 Google CLoud Storage (GCS) bq bat 文件中的命令。该命令有一个参数可以导出为管道分隔文件。该命令按原样在 CLI 中运行,但是当我使用 call 命令从 bat 文件 运行 时,它会打开命令但不会执行它。注意:相同的操作 运行s 没有管道分隔符参数。

知道为什么吗?

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

输出:

Waiting on bqjob_r01419067_00000169eed1d868_1 ... (0s) Current status: DONE

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

输出:

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

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

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