【发布时间】:2016-06-17 13:24:45
【问题描述】:
我有 3 个脚本:
- C:\Powershell\Test1.ps1:
WRITE-HOST "My Name is" $MyInvocation.MyCommand.Name . "C:\Powershell\Test2.ps1" - C:\Powershell\Test2.ps1:
WRITE-HOST "My Name is" $MyInvocation.MyCommand.Name . "C:\Powershell\Test3.ps1" - C:\Powershell\Test3.ps1:
WRITE-HOST "My Name is" $MyInvocation.MyCommand.Name
这是输出:
PS C:\Powershell> .\Test1.ps1
My Name is Test1.ps1
My Name is Test2.ps1
My Name is Test3.ps1
我希望 Test1.ps1 将代码包含在自身内部,而不是在自身内部将它们作为脚本调用。
如果可能的话,这就是我想要的那种输出:
PS C:\Powershell> .\Test1.ps1
My Name is Test1.ps1
My Name is Test1.ps1
My Name is Test1.ps1
这可能吗?原来的 Test1 脚本被调用,所以这应该是整个脚本的名称,不管它之后调用什么?
【问题讨论】:
-
您基本上希望
$MyInvocation.MyCommand.Name包含与文件本身不同的脚本文件?你为什么要这么做? -
$MyInvocation不会在多个文件中保持一致。也许您可以使用另一个脚本来连接Test1.ps1、Test2.ps1和Test3.ps1?然后它们都将在相同的上下文中运行。
标签: powershell scripting include