通过Powershell使用多个命令启动外部程序

通过Powershell使用多个命令启动外部程序,powershell,docker,sh,docker-compose,Powershell,Docker,Sh,Docker Compose,我当前正在尝试启动另一个控制台(.exe)并传递多个命令;虽然启动和输入一个命令工作正常,但我还无法找到如何通过powershell输入多个命令 & "C:\Program Files\Docker Toolbox\start.sh" docker-compose up -d --build 给定的命令工作得很好,但正如前面提到的,我需要传递多个命令-我尝试使用数组、脚本块和不同的序列,但没有效果 编辑: 注意到,docker build有一个-f标记,允许我指定一个文件;然而,现在的

我当前正在尝试启动另一个控制台(.exe)并传递多个命令;虽然启动和输入一个命令工作正常,但我还无法找到如何通过powershell输入多个命令

& "C:\Program Files\Docker Toolbox\start.sh" docker-compose up -d --build
给定的命令工作得很好,但正如前面提到的,我需要传递多个命令-我尝试使用数组、脚本块和不同的序列,但没有效果

编辑

注意到,
docker build
有一个-f标记,允许我指定一个文件;然而,现在的问题似乎是,执行的cmd删除了所有反斜杠和特殊字符,使得给定的路径无效

例如:

&"C:\Program Files\Docker Toolbox\start.sh" 'docker-compose build -f 
path\to\dockerfile'

将导致错误,指出
“pathtodockerfile”
是无效路径。

您的
start.sh
需要能够处理多个参数。这看起来不像是一个PowerShell问题

事实证明,这比预期的要容易;通过执行包含所需两个命令的单独文件并将其传递到start.sh文件,解决了此问题

&"C:\Program Files\Docker Toolbox\start.sh" './xyz/fileContainingCommands.sh'

我怎么知道的?start.sh是Docker提供的文件,我必须运行它,因为它配置了所有必要的代理和VM设置。@AscendedKitten尝试将参数作为单个字符串引用<代码>&'C:\Program Files\Docker Toolbox\start.sh''Docker compose up-d--build'参数不是问题所在,因为它们是公认的-问题在于执行多个命令,因为在使用docker compose之前,我需要使用cd导航到正确的目录。@AscendedKitten所以您正试图使用PowerShell将命令发送到其他程序的控制台?没错。基本上,脚本的其余部分会下载一些东西,最后调用实际处理这些数据的程序。虽然我需要不止一个命令来初始化它。