繁体   English   中英

使用Powershell处理计划任务上的列表

[英]Processing a list with Powershell on a Scheduled Task

我是Powershell的新手,所以我不确定我是否正在考虑自己想做什么,希望有人可以帮助我。

我想创建一个Windows计划任务,该任务每4小时调用一次powershell脚本,那里没有问题。 该脚本需要处理一个ID列表,范围是1到140,(他们在这里跳过了一些,这使这个过程更加困难)。脚本只是调用另一个外部程序,每个ID大约需要2个小时,我们给它4个小时为了安全。 因此,在加载powershell脚本时,它需要从文件中读取它的上一次扫描,我可以使用

    $lastscan = Get-Content'lastScan.txt'

然后,脚本需要在列表中找到下一个对象,该对象可能会在此处或此处跳过数字,因此它不像增加上一次扫描运行那样简单。 一旦有了下一个ID,它将开始扫描并将新值保存到名为“ lastScan.txt”的文本文件中并退出。 我需要帮助的唯一一件事就是如何基于lastscan运行在列表中查找下一个扫描。 该列表由换行符分隔,但如果可以简化,我可以对其进行编辑。

    1
    5
    6
    9
    etc, etc, ...

假设您有一个用Get-Content填充的字符串数组,并假设该数组不包含重复项,则可以使用Array.IndexOf方法获取当前ID的索引,然后返回数组中的下一个元素。 例:

$x = "1","2","3"
$currentId = "2"
$nextIndex = [array]::IndexOf($x, "2") + 1
$nextId = $x[$nextIndex] #nextId should now be "3"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM