windows - 查找容器 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%
解决方案
您的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%
)
推荐阅读
- javascript - 如何将文件内容类型更改为多部分/表单数据
- spring-test - 如何为这个特定的 xml bean 定义元素定义一个 spring bean
- python - 如何从另一个文件的另一个函数中调用一个文件中的函数
- c++ - 使用分区快速排序
- list - 列表乘法到数据框
- css - 当我没有任何丢失的“}”时出现无效的 css 错误
- python-3.x - Python +Selenium 找不到要发送密钥的元素
- javascript - 如何在传单中为 geojson 功能添加动画?
- javascript - 在字符串中查找连续的运算符并将先前的运算符替换为最新的运算符
- flutter - flutter doctor 命令无法在 Ubuntu 18.04 上检索 Dart SDK