为列表框中的所有项启动进程

本文关键字:启动 进程 列表 | 更新日期: 2023-09-27 18:16:36

如何在checklistbox中的所有选中项上运行命令行应用程序?

我用下面的代码将我的文件添加到列表框中:

  private void button2_Click(object sender, EventArgs e)
  {
      var filters = "*.avi|*.mkv";
      odd.ShowNewFolderButton = false;
      if (odd.ShowDialog() == DialogResult.OK)
      {
          string folderName = odd.SelectedPath;
          string[] files = Directory.GetFiles(folderName, "*.*", SearchOption.AllDirectories);
          foreach (string file in files) checkedListBox1.Items.Add(file, CheckState.Checked);
      }
  }

现在我想让x264.exe的参数处理(转换)所有(选中)的项目添加到列表框

为列表框中的所有项启动进程

我不确定是否完全理解你的问题,但如果你想在checklistbox中为每个选中的元素运行一个命令,你可以使用for each循环遍历所有选中的项目:

foreach(object itemChecked in checkedListBox1.CheckedItems) {
Process.Start("someapp.exe");
}

免责声明—我不确定我是否完全遵循了您想要完成的内容,但是:

如果你想把列表框中的所有项目合并到一个单独的语句中,你可以这样做:

string commands = checkedListBox1.CheckedItems.Cast<string>().Aggregate((i,j) =>i + " " + j);

意思是,如果你的复选框项是:

/t
/run
/something
你会得到/t /run /something