当前位置:  开发笔记 > 编程语言 > 正文

为什么Powershell在第一次执行脚本后无法找到导入的命令?

如何解决《为什么Powershell在第一次执行脚本后无法找到导入的命令?》经验,为你挑选了1个好方法。

我有两个Powershell脚本.脚本A包含一个简单的Powershell函数.脚本B导入脚本A,然后调用脚本A中定义的函数.这在第一次执行脚本B时工作正常但在后续执行时Powershell会抱怨脚本A中定义的函数无法找到.在脚本B中添加-Force到import-module调用似乎可以解决问题,但我想了解为什么Powershell会出现这种意外行为.

这是脚本A.

function foo($param)
{
    Write-Host $param
}

这是脚本B.

Import-Module "C:\SomePath\scriptA.ps1"

Foo "hello"

我从PS命令行调用脚本:

.\scriptB.ps1

这是我得到脚本执行的第二次和后续时间的错误.

在此输入图像描述



1> 小智..:

脚本A不是PowerShell模块(因为它有一个ps1)扩展.相反,尝试像这样的dot-sourcing scriptA:

. c:\somepath\scripta.ps1
foo "hello"

推荐阅读
勤奋的瞌睡猪_715
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有