wolnavi
wolnavi

Reputation: 193

Why can't I run 2 commands consecutively using batch file for gcloud

so I have this .bat file:

@echo off
cd C:\Users\user\Downloads
gcloud auth activate-service-account --key-file=keyFileName.json
gcloud auth print-access-token
pause

During the first gcloud command, it will suddenly crash the command prompt halfway, but when I copy and paste each line manually into command prompt in the same location as the location I am trying to cd to in the .bat file, it works... Any idea why? I am on Windows 10 by the way.

Searching on Google, I found two related issues, on Github and Stackoverflow.

Github's solution was using python which was not what I needed and Stackoverflow's one did not have anyone helping him/her...

Thanks

Upvotes: 5

Views: 2764

Answers (2)

Erwin Mayer
Erwin Mayer

Reputation: 18670

You can also just add CALL before each command, for example:

CALL gcloud app deploy
CALL gcloud app describe

Upvotes: 4

Kolban
Kolban

Reputation: 15266

When running some gcloud commands, they have the expectation that they may be interacting with a user. In addition, they can adversely interact with the current command line processor (CMD on Windows). This can result in the command line processor ending prematurely. One solution is to run your scripted gcloud commands in their own local / nested instance of a command line processor.

If today, your script contains:

gcloud ... some command parameters ...

replace this with:

cmd /c gcloud ... some command parameters ...

This will cause the gcloud command to run in its own nested environment which won't interfere with the top level (scripted) environment.

Upvotes: 7

Related Questions