如何根据Conda环境名称获取环境路径并赋值给变量
提取Conda环境路径并赋值给变量
Windows CMD 环境
精确匹配单个环境名(如RPDA)
要提取指定环境的路径并赋值给变量,可通过for /f命令捕获输出并处理掉当前环境的*标记:
@echo off setlocal enabledelayedexpansion :: 提取名为RPDA的环境路径 for /f "tokens=1,* delims= " %%a in ('conda info --envs ^| findstr /b /c:"RPDA"') do ( set "envpath=%%b" :: 移除*标记及前面的空格 set "envpath=!envpath:* =!" ) :: 输出结果 echo 环境路径:%envpath% endlocal
模糊匹配所有含RPDA的环境
如果需要提取所有名称包含RPDA的环境路径,可循环存储到多个变量:
@echo off setlocal enabledelayedexpansion set "env_count=0" for /f "tokens=1,* delims= " %%a in ('conda info --envs ^| findstr /c:"RPDA"') do ( set "env_path_!env_count!=%%b" set "env_path_!env_count!=!env_path_!env_count!:* =!" set /a env_count+=1 ) :: 输出所有提取的路径 echo 所有含RPDA的环境路径: for /l %%i in (0,1,!env_count!-1) do ( echo !env_path_%%i! ) endlocal
PowerShell 环境
精确匹配单个环境名
# 提取RPDA环境的路径 $envPath = conda info --envs | Select-String '^RPDA' | ForEach-Object { $_.Line -replace '^RPDA\s+\*?\s*', '' } Write-Host "环境路径:$envPath"
模糊匹配所有含RPDA的环境
# 提取所有名称含RPDA的环境路径 $envPaths = conda info --envs | Select-String 'RPDA' | ForEach-Object { $_.Line -replace '^\S+\s+\*?\s*', '' } Write-Host "所有含RPDA的环境路径:" $envPaths
内容的提问来源于stack exchange,提问作者Alberto B
相关产品推荐
相关产品推荐

