51

我有一些在附加 PowerShell 脚本文件中定义的附加函数,我正试图将它们加载到主 .ps1 文件中。但是,当我从 PowerShell 提示符调用 .ps1 文件时,它似乎并没有运行这些命令。

在以下代码示例中,build_functions.ps1 包含定义各种自定义函数的代码。如果我单独运行该文件(例如,单独运行它然后通过主脚本运行)它可以正常工作。Build_builddefs.ps1 包含许多变量,在运行主脚本之前也需要填充这些变量。

在我的主要脚本的开头,我有这个:

.\build_functions.ps1
.\build_builddefs.ps1

但是,这些似乎没有运行,因为主脚本在尝试执行第一个自定义函数时失败。我究竟做错了什么?

4

3 回答 3

58

你必须对dot source他们:

. .\build_funtions.ps1
. .\build_builddefs.ps1

注意额外的.

这篇heyscriptingguy文章应该会有所帮助 -如何在脚本中重用 Windows PowerShell 函数

于 2013-09-12T12:31:36.370 回答
40

我一直在使用这个

Import-module .\build_functions.ps1 -Force
于 2016-04-21T03:11:53.860 回答
0

以下是如何从特定路径/目录加载一个:

. "C:\scripts\Function-Search-AD.ps1"

在此处输入图像描述

于 2021-11-10T00:52:19.773 回答