You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell 5.1下如何快速切换到当前路径中的_framework目录

最简兼容实现方案(PowerShell 5.1 可用,无需显式拆分遍历)

方案1:正则替换实现(一行代码,自带不存在时兼容)

Set-Location ($PWD.Path -replace '(?<=(?:^|\\)_framework).*$', '')

逻辑说明:

  • 直接用内置自动变量$PWD获取当前工作路径,无需额外调用Get-Location
  • 正则(?<=(?:^|\\)_framework).*$使用正向后置断言,匹配路径中_framework之后的所有内容,替换为空后自动得到截止到_framework的完整路径
  • 如果当前路径不包含_framework目录,正则不会命中任何内容,路径不会发生修改,Set-Location执行后无变化,自动兼容不存在的场景,无需额外判断

方案2:-split拆分次数参数实现(逻辑更直观)

如果更偏好可读性更强的写法,可以用-split的拆分次数参数,仅拆分一次即可拿到结果:

if ($PWD.Path -match '\\_framework\\?') {
    Set-Location (($PWD.Path -split '\\_framework', 2)[0] + '\_framework')
}

逻辑说明:

  • -split的第二个参数指定拆分次数为2,遇到第一个_framework就停止拆分,直接拿到_framework之前的路径片段,拼接后得到目标路径
  • 额外增加的判断逻辑避免路径不存在_framework时生成无效路径

内容的提问来源于stack exchange,提问作者SimonS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 12:54:01