我有以下批處理文件(見下文),我自己的電腦上運行成功。它運行一個用GooeyParser編譯的Python可執行文件,通過臨時文本文件將一些變量傳遞給批處理腳本,然後使用Google Dev Console將文件上傳到GSC,然後將文件上傳到BigQuery。
在我的同事電腦上,批處理腳本剛剛在gsutil
命令後停止運行。沒有錯誤消息,腳本停止運行。
單個命令在他的電腦上成功運行。
有誰知道爲什麼批處理腳本可能只能部分運行?
批處理文件
::spawns as a subprocess to avoid console window closing and losing error messages
if not defined in_subprocess (cmd /k set in_subprocess=y ^& %0 %*) & exit)
::python script writes out file location to temporary file
"BQ Single File Upload - dont run by itself.exe"
SET /p FILEUPLOAD=<temp_file_path
SET /p FILENAME=<temp_filename
SET /p DATASET=<temp_dataset
SET /p TABLE=<temp_table
SET /p SCHEMA=<temp_schema
DEL temp_file_path
DEL temp_filename
DEL temp_dataset
DEL temp_table
DEL temp_schema
gsutil cp %FILEUPLOAD% "gs://our_data/%FILENAME%"
cmd.exe /c bq mk %DATASET%
bq load --max_bad_records=5 --skip_leading_rows=1 --allow_quoted_newlines --schema %SCHEMA% %DATASET%%TABLE% "gs://our_data/%FILENAME%"
PAUSE
爲什麼你一直把它稱作** BASH **腳本? – Squashman
只要看看關於編譯python腳本的其他問題,您的計算機上可能存在一些其他計算機上不存在的DLL。 – Squashman
您是否在命令提示符窗口中運行批處理文件以避免命令進程自動關閉以便能夠查看錯誤消息或者只需雙擊導致Windows自動關閉的批處理文件(如果Windows命令處理器停止批處理文件的執行? – Mofi