首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PowerShell后台作业(同时有多个.cmd文件)

PowerShell后台作业(同时有多个.cmd文件)
EN

Stack Overflow用户
提问于 2016-08-11 10:43:27
回答 1查看 240关注 0票数 0

在PowerShell中,我试图在同一时间同步不同的任务,因为每个任务都需要2-4小时。我现在的脚本只是一个接一个地处理每个任务。我知道在PowerShell中有一个名为后台作业的选项。是否有一种方法可以转换以下代码,以便同时处理多个.cmd文件?

代码语言:javascript
复制
$handler_button1_Click= 
{
$answer= $finalcheck.popup("text",0,"text",4)
If($answer-eq 6) {
   [Windows.Forms.MessageBox]::Show("text", "Information", [Windows.Forms.MessageBoxButtons]::OK, [Windows.Forms.MessageBoxIcon]::Information)
   $listBox1.Items.Clear();    
    if ($checkBox1.Checked)    { 
    Try{ 
    & K:\sample.cmd
    }catch [System.Exception]{
    $listBox1.Items.Add("Error")}
    }

    if ($checkBox2.Checked)    { 
    Try{ 
    & K:\sample2.cmd
    }catch [System.Exception]{
    $listBox1.Items.Add("Error")}
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-11 10:49:36

您可以使用Start-Job:

代码语言:javascript
复制
$job = Start-Job { & K:\sample.cmd }

此时,您可能需要添加一些代码来观察已启动的作业的状态。可能您可以定期检查$job.State。

在此基础上,如果一个作业已经在运行,您可能拒绝启动相同类型的作业。

除了“开始工作”之外,您还应该查看以下内容:

  • 获得-工作-获得任何工作(运行或其他)
  • 接收--工作--以获得结果
  • 删除-任务-一旦你完成了任务,就移除它。
  • 停止-工作-如果你想杀了它就停止它。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38894155

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档