簡體   English   中英

C#從目錄結構中獲取所有可執行文件,然后在運行時終止

[英]C# Get all executables from directory structure, then kill if running

我試圖:

1)獲取目錄和所有子目錄中所有可執行文件的列表。

2)如果其中任何可執行文件正在運行,請終止該進程。

到目前為止,我有:

String[] exes =
Directory.GetFiles("C:\\Temp", "*.EXE", SearchOption.AllDirectories)
.Select(fileName => Path.GetFileNameWithoutExtension(fileName))
.ToArray();

{
    exes.ToList().ForEach(Console.WriteLine);
}

Console.ReadLine();

因此,這向我顯示了可執行文件的列表。 如果進程正在運行,我如何使用此列表將其殺死?

最終這樣:

                    try
                {
                    //Find exes in dir and subdirs
                    String[] exes =
                    Directory.GetFiles("C:\\Temp", "*.EXE", SearchOption.AllDirectories)
                    .Select(fileName => Path.GetFileNameWithoutExtension(fileName))
                    .AsEnumerable()
                    .ToArray();

                    // kill the process if it is in the list 
                    var runningProceses = Process.GetProcesses();
                    for (int i = 0; i < runningProceses.Length; i++)
                    {

                     if (exes.Contains(runningProceses[i].ProcessName))
                     {
                      runningProceses[i].Kill(); 
                     }

                    }


                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM