在Powershell中,在单个脚本文件中编写多个函数是一个好习惯吗?

时间:2012-04-10 07:38:32

标签: powershell powershell-v2.0

我被告知使用powershell脚本编写多个动作。 Apppool创建,SQL更新,文件编辑等操作

我将第一次在脚本中编写这样的大量内容。

所以我想在写作之前先了解最佳做法。

在单个文件中编写所有函数是一个好习惯吗?

我在考虑至少10个可能需要写的功能。假设每个函数可能有10行代码。

3 个答案:

答案 0 :(得分:5)

考虑模块:最简单的格式是清单(.psd1)和单个脚本文件(.psm1),其中包含所有函数,别名,...模块导出(以及任何内部帮助程序)

在这种情况下,您显然将多个连接的函数放在一个文件中。即使大部分代码只是点源代码到脚本模块中,它们仍然在逻辑上位于一个实体中。

另一方面,使用路径中的脚本执行而不必事先加载(根据Adriano's对问题的评论)以支持一个函数(在脚本范围而不是{{1}) }声明是有道理的。

因此:没有一个好的做法":这一切都取决于具体情况。

答案 1 :(得分:1)

务实,真理来自行动,不来自言语; O)

首先,开始时:

1)您想要做的事情是否存在于互联网EX PoshCode的某个地方(如果是这样,您可以对其进行调整)

2)想想你的函数(不是太多)对象:重用代码(用伪代码编写你的算法)

3)使用互联网寻找甚至现有的功能

4)在与主代码相同的文件中写下所有函数来测试它们。在此阶段,您将发现要添加或从现有功能中删除的新功能和参数

5)测试完代码后,将可重用的函数(以及它们所依赖的函数)放入一个或多个模块中。

答案 2 :(得分:0)

我的解决方案是创建一个自定义模块,稍后可以添加功能。

您可以使用此mymodule.psm1下的mymodule文件夹中的$env:psmodulepath所有功能保存您的单个文件。

然后add-module mymodule(或者更好地在你$profile中调用它,以便在控制台启动时准备就绪)