Powershell 如何根据条件运行部分或全部posh脚本块或文件

Powershell 如何根据条件运行部分或全部posh脚本块或文件,powershell,conditional,taskscheduler,Powershell,Conditional,Taskscheduler,我被困在这件事上了 我对某些可以运行数小时的脚本具有只读访问权限。 不幸的是,环境权限只允许我使用任务调度器,而且通常我需要在脚本运行时的条件为true时停止脚本的运行,此时脚本必须立即停止 比如说: $Variable=2,不管它进行了什么计算和处理 我需要阻止这项任务继续下去 我可以在参数字段中添加什么来执行此操作 do,while/until不工作,因为它们是循环,将让整个脚本完成,而不是根据条件停止。脚本块在设计上是一件毫无意义的事情。您可以使用break或/exit关键字通过条件匹配来

我被困在这件事上了

我对某些可以运行数小时的脚本具有只读访问权限。 不幸的是,环境权限只允许我使用任务调度器,而且通常我需要在脚本运行时的条件为true时停止脚本的运行,此时脚本必须立即停止

比如说:

$Variable=2,不管它进行了什么计算和处理

我需要阻止这项任务继续下去

我可以在参数字段中添加什么来执行此操作


do,while/until不工作,因为它们是循环,将让整个脚本完成,而不是根据条件停止。

脚本块在设计上是一件毫无意义的事情。您可以使用break或/exit关键字通过条件匹配来中断/退出任何脚本/脚本块

如果您试图中断/退出脚本/脚本块,那么该脚本块必须具有逻辑来处理允许该操作的条件检查。因此,try/catch-do/while等仍然是谨慎的

描述PowerShell脚本语言中的关键字

Break描述一条语句,可用于立即退出Foreach、For、While、Do或Switch语句

退出导致PowerShell退出脚本或PowerShell实例

另见


当测试表明满足退出条件时。。。使用
退出
。[咧嘴笑]这是一个保留字,它会强制脚本退出/结束/自杀。瞧。。。谢谢一、 我真的试过了。它无法工作,因为它仍然依赖于while/until。。。或者我只是构造了错误的参数,因为它在退出之前仍然完成了整个脚本的单个循环。我更想弄清楚我可以用什么来查看正在运行的脚本块中的变量,并在它们等于某个值时阻止它们,然后退出…如果脚本没有退出。。。然后,代码中未到达
退出
关键字。如果看不到代码,或者至少看不到代码的逻辑大纲,就没有人知道为什么没有找到
exit
关键字。
$i = 3
while ($true) {
  trap [DivideByZeroException] {
    Write-Host 'divide by zero trapped'
    break
  }
   1 / $i--
}