我想在我的测试脚本中导入我的主脚本(用于单元测试),但是
. ("P:\Documents\PS\ppmc_Cronet_Interface.ps1")或
Import-Module P:\Documents\PS\ppmc_Cronet_Interface.ps1自动执行主脚本。
如何处理这件事有什么共同的办法吗?我尝试添加一个参数. ("P:\Documents\PS\ppmc_Cronet_Interface.ps1 -t"),但它不会导入该文件。
提前感谢!
发布于 2018-07-05 13:12:00
通用代码在Powershell中,您只需将要包含的代码放在不同的PS1文件中,然后将该文件“点源”包含在当前范围内:
. D:\script_common\MyCode.ps1仅此而已。
使用一个模块,您可以考虑使用一个模块,它可以使用Import。您可能已经使用它来处理诸如Active Directory之类的事情,您可以这样做:
Import-Module ActiveDirectory在这种情况下,您只需要模块的名称,因为它位于一个特殊的目录中。
要在Powershell中编写自己的模块,可以将模块命名为.psm1扩展。通常,您不会在其中之一中执行自由浮动代码;您将编写函数,然后将这些函数用于导入模块的代码。
若要从任何地方导入脚本模块,请使用完整路径:
Import-Module D:\script_common\MyModule.psm1https://stackoverflow.com/questions/51191742
复制相似问题