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

Test-Path cmdlet是否支持相对路径?相关使用疑问咨询

关于Test-Path相对路径特性的答疑

Test-Path支持相对路径是PowerShell的原生特性,属于PowerShell全局路径解析机制的一部分,并非Test-Path独有,所有支持路径参数的PowerShell cmdlet都默认兼容相对路径输入。

针对你的几个疑问逐一解答:

  • 该特性可以在PowerShell 2.0版本中正常运行,相对路径解析规则从PowerShell 2.0正式版发布时就已稳定落地。
  • 相对路径的默认参照基准是当前工作目录,即内置变量$PWD对应的路径,而非脚本所在路径。
    • 你之前测试得出的“参照脚本所在路径”的结论仅在当前工作目录刚好等于脚本存储目录时成立,不具备通用性:比如脚本存储在C:\scripts\demo.ps1,你在C:\Users\abc目录下执行该脚本,此时脚本内所有相对路径的参照基准都是C:\Users\abc,和脚本所在目录无关。
  • 修改相对路径参照基准有两种常用方案:
    1. 全局修改当前会话的工作目录:执行Set-Location 目标基准路径,后续所有cmdlet的相对路径都会以该路径为基准
    2. 不修改全局工作目录,直接拼接绝对路径:你提到的Join-Path是可靠性极高的路径拼接工具,完全可以放心使用。如果需要固定以脚本所在路径为基准,PowerShell 3.0+可以直接用内置变量$PSScriptRoot获取脚本所在目录,PowerShell 2.0可以用Split-Path $MyInvocation.MyCommand.Definition -Parent获取,再用Join-Path把基准目录和相对路径片段拼接为绝对路径传入Test-Path即可,该方案完全不受当前工作目录变动影响,是生产环境脚本的推荐写法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 17:24:03