2017-06-01 139 views
0

我发现管道命令该指令在Windows CMD:视窗CMD泊坞窗命令管道

“管道”重定向程序或命令的第二程序或命令的输出。

语法:

Command1 | Command2 

[Source](在最底部)

docker ps -aq | docker start然而或任何类似的组合只是返回错误。

在PowerShell中启动所有停止的容器的唯一工作组合。

docker start $(docker ps -a -q -f "status=exited") 
+1

PowerShell是不太一样的作为CMD。你究竟得到了什么错误? – vonPryz

+0

Yeap,我明白它只是通过CMD完成我的大部分工作,每次需要docker时打开powershell显得麻烦。我得到''dokcer start'需要至少1个参数。' - > docker ps -aq | docker start – MattJ

+0

错误消息表明docker程序不从stdin读取,并且必须具有指定的显式命令行参数。 – lit

回答

0

您可以pipe into docker containers-i),但你不能管参数泊坞窗命令本身。

在PowerShell中使用一个循环开始停止容器的列表:

docker ps -a -q -f "status=exited" | ForEach-Object { docker start $_ } 

在CMD使用循环启动停止容器的列表:

for /f "tokens=*" %i in ('docker ps -a -q -f "status=exited"') do docker start %i 
+0

PowerSheel没有问题:)我正在寻找Windows CMD中的解决方案。 – MattJ

+1

@MattJ在CMD中你也是这样做的。查看更新的答案。 –