我有一些常用于几个脚本的常量。 我想写一个共同的部分,并在我的脚本中点源。 我还想使用这些常量来使用" param"来初始化参数的默认值。部分。 但是param部分应该是脚本中的第一个非注释行,所以我不能在它之前点源。 关于如何做到这一点的任何建议"正确"? 当然,我可以在" Regular"上给出默认值。 " params"之后的代码部分... 如果$ param为空,请设置$ param = CONST ...
实施例: ConstantsFile.ps1
Set-Variable COMMON_CONST_num -option Constant -value 100
Set-Variable COMMON_CONST_path -option Constant -value "C:\Example\Example"
脚本:
. .\ConstantsFile.ps1
param
(
[string]$targetPath = "$COMMON_CONST_path"
[string]$number = "$COMMON_CONST_num"
)
...
答案 0 :(得分:1)
为什么不将你的脚本变成模块?
然后你可以将每个脚本变成一个函数,在模块顶部点源你的标准变量(或者放弃那个想法并将它们包含在模块中)并在每个函数的参数中设置所有默认变量值部分:
<#
My-Module.psm1
#>
#Set my module variables
Set-Variable COMMON_CONST_num -option Constant -value 100
Set-Variable COMMON_CONST_path -option Constant -value "C:\Example\Example"
#Dot-Source my common variables
. .\ConstantsFile.ps1
function My-function1
{
param
(
[string]$Function1targetPath = "$COMMON_CONST_path",
[string]$Function1number = "$COMMON_CONST_num"
)
#Do Stuff
}
function My-function2
{
param
(
[string]$Function2targetPath = "$COMMON_CONST_path",
[string]$Function2number = "$COMMON_CONST_num"
)
#Do Stuff
}
您可能会发现这种方法也允许您为脚本创建一些常用功能。