首页 > 解决方案 > 查找容器 id 并停止 docker 容器的 bat 脚本语法是什么

问题描述

我已经编写了这个 bat 脚本,但在第 3 行出现错误。

for /f %%i in ('docker ps -qf "name=^demo-application"') do set containerId=%%i
echo %containerId%
If "%containerId%" == ""
echo "No Container running"
ELSE
docker stop %ContainerId%
docker rm -f %ContainerId%

在此处输入图像描述

标签: windowsdockerbatch-filecontainers

解决方案


您的if语法略有偏差。该命令必须与if. 并且else它之后的命令必须在同一(逻辑)行上。使用括号开始一个代码块(命令块的开头在语法上被视为有效命令):

for /f %%i in ('docker ps -qf "name=^demo-application"') do set containerId=%%i
echo %containerId%
If "%containerId%" == "" (
  echo "No Container running"
) ELSE (
  docker stop %ContainerId%
  docker rm -f %ContainerId%
)

推荐阅读