首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何获取正在执行的cmdlet的当前目录

如何获取正在执行的cmdlet的当前目录
EN

Stack Overflow用户
提问于 2011-12-01 23:23:53
回答 15查看 449.6K关注 0票数 230

这应该是一项简单的任务,但我已经看到几次关于如何获取已执行cmdlet所在目录的路径的尝试,成功与否参差不齐。例如,当我执行在C:\temp\myscripts\settings.xml中有一个设置文件的C:\temp\myscripts\mycmdlet.ps1时,我希望能够将C:\temp\myscripts存储在mycmdlet.ps1中的一个变量中。

这是一个有效的解决方案(虽然有点麻烦):

$invocation = (Get-Variable MyInvocation).Value
$directorypath = Split-Path $invocation.MyCommand.Path
$settingspath = $directorypath + '\settings.xml'

另一个人建议这个解决方案,它只在我们的测试环境中工作:

$settingspath = '.\settings.xml'

我非常喜欢后一种方法,它比每次都必须将文件路径解析为参数要好,但是我不能让它在我的开发环境中工作。我该怎么办?这与PowerShell的配置方式有关吗?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8343767

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档