Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

I am trying to run the following command in PowerShell

PS C:UsersAdministrator> cmd /c "C:Program Files (x86)Microsoft Visual Studio2017BuildToolsCommon7Toolsvsdevcmd.bat && nuget restore && msbuild mywebapp.sln /p:DeployOnBuild=true /p:PublishedProfile=ServerFolderProfile"

This produces the error

'C:Program' is not recognized as an internal or external command. 

My paths have spaces and I'm running several commands seperated by && which is messing everything up. I have tried putting quotes all over the place but I can't get it to work.

If i run just the first part of the command

cmd /c "C:Program Files (x86)Microsoft Visual Studio2017BuildToolsCommon7Toolsvsdevcmd.bat"

it works fine. But I can't get the other commands to work too.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
403 views
Welcome To Ask or Share your Answers For Others

1 Answer

I should have read the documentation for cmd.exe more closely.

It states

If /C or /K is specified, then the remainder of the command line is processed as an immediate command in the new shell. Multiple commands separated by the command separator '&' or '&&' are accepted if surrounded by quotes

https://ss64.com/nt/cmd.html

So I just had to change my command to

PS C:UsersAdministrator> cmd /c "C:Program Files (x86)Microsoft Visual Studio2017BuildToolsCommon7Toolsvsdevcmd.bat" "&&" nuget restore "&&" msbuild mywebapp.sln /p:DeployOnBuild=true /p:PublishedProfile=ServerFolderProfile

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...