输出conda环境后,批处理脚本停止

时间:2018-10-31 09:43:23

标签: windows batch-file cmd anaconda

我试图编写一个批处理脚本以导出所有可用的conda环境,在Internet上逐段搜索后,我想到了以下内容:

@echo off

conda info --envs > conda_envs.txt

for /f "usebackq tokens=1 delims= " %%a in ("conda_envs.txt") do (
    if not %%a==# conda env export -n %%a > %%a.yml
)

问题是脚本在conda info --envs > conda_envs.txt之后停止,我试图在call循环和for命令之前添加export,但是没有运气。我做错了什么?

1 个答案:

答案 0 :(得分:0)

非常感谢注释部分的npocmakamichael_heathSomethingDark,我认为缺少括号使调试过程更加困难。通过在call前面添加conda会有所帮助!以下是该脚本的有效版本:

@echo off

call conda info --envs > conda_envs.txt

for /f "usebackq tokens=1 delims= " %%a in ("conda_envs.txt") do (
    if not %%a==# call conda env export -n %%a > %%a.yml
)

PS:如果未添加call之前的第二个conda env export...,则该方法同样适用。