微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Powershell Get-Content + Invoke-Expression单独执行语句,还是一次执行所有语句?

考虑这个说法:

Get-Content .zipper.ps1 | Invoke-Expression

以下是Technet中logging的一个变体。

Invoke-Expression (Get-Content '.zipper.ps1' -Raw)

这两个陈述工作得很好,虽然第二个执行得更快。 假设zipper.ps1是一个包含多行可执行Powershell代码的脚本。

上述语句是否将zipper.ps1中的每一行作为单独的命令执行?

合理地终止由QueueUserWorkItem()调度的线程池任务

以编程方式将访问控制列表(ACL)权限分配给“此文件夹,子文件夹和文件

缺less对System.Diagnostics.Process的引用

如何打开Windows证书查看器(不是pipe理器)

如何在Linux中获得.Net文件的AssemblyVersion

或者,将整个脚本作为一个大的连接string来执行?

我的问题涉及到powershell语句的字符限制 – 如果每个代码行都在powershell字符限制内,但是整个脚本超过了字符限制,上述命令是否会超出字符限制?

PowerShell可能有260个字符的限制(不确定)。 这些页面在Powershell中提到了字符限制:

https://support.microsoft.com/en-us/kb/830473

https://social.technet.microsoft.com/Forums/windowsserver/en-US/f895d766-5ffb-483f-97bc-19ac446da9f8/powershell-command-size-limit?forum=winserverpowershell

细节:

Technet指出:

“ Get-Content cmdlet获取path指定位置的项目内容,例如文件中的文本。

“ Invoke-Expression cmdlet将评估或运行指定的string作为命令,并返回expression式或命令的结果。

到目前为止这么好 – 这非常清楚地解释了我的声明是如何以及为什么如此。 但它不会告诉我这些语句是作为单独的语句执行还是作为一个大的连接string来执行的。 第二个变化跑得快的事实可能是一个线索。

也许我需要添加一个For..Each 。

technet文档说Get-Content返回一个集合,而这个Technet文章说它返回一个数组。 这是冲突的信息,但不知道arraysVS收集事项我的问题在这里

谢谢

在Windows Vista / 7(使用DWM)中redirect应用程序的graphics输出

如果外部命令的输出是废话,最好抛出exception?

如何检查是否“所有人”具有完全控制权限的文件在c#

如何检索窗口的最小化,最大化和closuresbutton的大小?

获取txt文件的标准应用程序(.NET)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐