我可以在powershell的点源中放入变量吗

我可以在powershell的点源中放入变量吗,powershell,Powershell,愚蠢的问题,我想知道当我拉入一个函数时,我是否能够在我的点源中放入一个变量。我有几个脚本可以添加到其他脚本中,以确保我有公共变量等等。但我总是假设有人会把它们放在C目录中。我如何确保他们是否将其放入F:或D powershell仍能找到它们?例如 . C:\CI\scripts\variables.ps1 Function StopOrStartServices{ Param ( $ServiceName, $Remoteser

愚蠢的问题,我想知道当我拉入一个函数时,我是否能够在我的点源中放入一个变量。我有几个脚本可以添加到其他脚本中,以确保我有公共变量等等。但我总是假设有人会把它们放在C目录中。我如何确保他们是否将其放入F:或D powershell仍能找到它们?例如

. C:\CI\scripts\variables.ps1

Function StopOrStartServices{    
    Param
    (
        $ServiceName,     
        $Remoteserver,
        $StopOrStart
    )
如果我将上面的行更改为以下内容

Function StopOrStartServices{    
    Param
    (
        $ServiceName,     
        $Remoteserver,
        $StopOrStart
        $baseDir
    )

. $baseDir\CI\scripts\variables.ps1
那还能用吗


根据我的理解,你必须把你的点源代码作为脚本的第一行?或者我把它与其他东西混淆了。

是的,Powershell将在调用.ps1脚本之前为您展开该变量。我能想到的唯一限制与您所指的类似,就是在使用脚本内容之前需要导入脚本


由于PS是一种解释(非编译)语言,它从上到下运行,在调用它们之前,您需要导入任何包含或模块。

除了在参数列表中缺少逗号之外,是的,它应该可以正常工作。PS中几乎任何东西都可以扩展。我在自己的很多剧本中都使用了同样的方法。非常感谢我朋友的智慧和知识。