模块的PowerShell脚本路径

问题描述 投票:0回答:1

我在modules目录下有这个myModule.psm1,和这个myScript.ps1。

function my-test{
    $global:PSCommandPath>C:\test.txt;C:\test.txt
}

还有这个myScript.ps1

my-test

当我用PowerShell ISE运行myScript.ps1时,在test.txt文件中得到了myScript.ps1的路径,正如我所期望的那样。

当我用PowerShell运行myScript.ps1时,得到的test.txt文件是空的。

我如何解决这个问题?

powershell
1个回答
0
投票

这是PowerShell 100级的东西。

如果这真的是一个模块,.psm1文件。那么它应该在你的模块目录下(或直接从目录路径调用),并正确命名,然后用......加载到内存中。

Import-Module -Name 'YourModuleName'

如果你想使用.ps1文件中的函数,也必须通过直接运行脚本或使用 点石成金.

. .\my-test.ps1

此时,你可以调用.ps*加载资源中的任何一个函数。你的函数名和模块名应该是不同的东西,以避免混淆。

关于加载.ps*文件和从.ps*文件中运行函数,请参考帮助文件、网络文章、Youtube视频。我已经在上面提供了Youtube的链接。

© www.soinside.com 2019 - 2024. All rights reserved.