2017-05-20 103 views
0

在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上的最佳方法。

+0

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

+0

好点@ restless1987。如果你把它作为答案,我会很高兴接受。 –

回答

1

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