如何处理PowerShell上的路径?

时间:2017-05-20 04:14:31

标签: powershell

在PowerShell上处理脚本/文件夹路径的最佳实践方法是什么?

示例1(相对于目标脚本位置):

$SettingsModule = (Get-Item -Path ('{0}\..\Settings\SettingsReader.psm1' -f $PSScriptRoot)).FullName
$AzureSqlUtilsModule = (Get-Item -Path ('{0}\UtilsSqlAzure.psm1' -f $PSScriptRoot)).FullName

# code here ...

示例2(通过参数通知路径):

$PfxPath = (Join-Path -Path $SecureRepoRoot -ChildPath $appCredentials.PfxPath)
# code here ...

或者我应该使用environment variables来处理本地文件夹/存储库/脚本的公共路径吗?或者有更好的选择吗?

我有Linux背景,理想情况下我会使用环境变量来定义公共路径,但是我不确定这是否是Windows / PowerShell上的最佳方法。

1 个答案:

答案 0 :(得分:1)

取决于你在做什么。我会选择PowerShells模块化的相对路径。移动或更新模块时,可以使用它提供所有相关资源。我不太喜欢外部依赖,所以我坚持使用这种方法。 Env可能不存在或在系统上有所不同 - 模块或脚本的路径始终是清晰的。