Windows .bat文件中的管道分隔符
我正在尝试使用bat文件中的Windows .bat文件中的管道分隔符,windows,batch-file,google-bigquery,command-line-arguments,Windows,Batch File,Google Bigquery,Command Line Arguments,我正在尝试使用bat文件中的bq命令将一个表从BigQuery导出到Google云存储(GCS)。该命令有一个参数要导出为管道分隔文件。该命令在CLI中正常工作,但当我使用call命令从bat文件运行时,它会打开该命令,但不会执行该命令。注意:在不使用管道分隔符参数的情况下运行相同的操作 知道为什么吗 call bq extract -F^^^| my-project:my-dataset.mytable gs://myfolder/myfile.csv 这是我的bat文件中唯一的一行。当我从
bq
命令将一个表从BigQuery导出到Google云存储(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\u r01419067\uuu00000169eed1d868\u 1。。。(0s)当前状态:完成
当我运行bat文件时,C:\test.bat
输出:
C:\bq extract-F^|我的项目:my-dataset.mytable gs://myfolder/myfile.csv
C:\
如果解决方案正确,您应该能够将批处理文件代码更改为此
set "caret=^"
call bq extract -F"%%CARET%%|" my-project:my-dataset.mytable gs://myfolder/myfile.csv
如果解决方案正确,您应该能够将批处理文件代码更改为此
set "caret=^"
call bq extract -F"%%CARET%%|" my-project:my-dataset.mytable gs://myfolder/myfile.csv
你为什么用电话?为什么要三次转义管道分隔符?在我使用的一些程序中,只需引用您想要使用的分隔符即可<代码>-F“|”。使用CALL将使命令中的所有插入符号加倍。我还将尝试
-F“^ |”
Hi@Squashman,我使用CALL是因为我有更多的命令要添加,如果我不使用它,则在第一个命令后停止处理。引号无效您是否尝试过-F“^ |”
?我找到了另一个说可以工作的。是的,它可以从命令行工作,但不能从bat文件工作。C:\Users\myfolder>CALL bq extract-F“^|”我的项目:mydataset.mytable gs://myfolder/Fact.csv文件名、目录名或卷标语法不正确。为什么使用CALL?为什么要三次转义管道分隔符?在我使用的一些程序中,只需引用您想要使用的分隔符即可<代码>-F“|”。使用CALL将使命令中的所有插入符号加倍。我还将尝试-F“^ |”
Hi@Squashman,我使用CALL是因为我有更多的命令要添加,如果我不使用它,则在第一个命令后停止处理。引号无效您是否尝试过-F“^ |”
?我找到了另一个说可以工作的。是的,它可以从命令行工作,但不能从bat文件工作。C:\Users\myfolder>CALL bq extract-F“^|”我的项目:mydataset.mytable gs://myfolder/Fact.csv文件名、目录名或卷标语法不正确。