获取文件列表并将其传递给cmd

时间:2012-07-16 17:46:11

标签: c# visual-studio-2010

我目前从OpenFileDialog获取文件列表,然后以这种方式添加到列表中

private void BtnSelect_Click(object sender, RoutedEventArgs e)
        {
            OpenFileDialog Open = new OpenFileDialog();
            Open.Filter = "RIFF/RIFX (*.Wav)|*.wav";
            Open.CheckFileExists = true;
            Open.Multiselect = true;
            Open.ShowDialog();

            LstFile.Items.Clear();
            foreach (string file in Open.FileNames)
            {
                LstFile.Items.Add(file);


            }
        }

如何从列表中获取单个文件名并将其传递到cmd.exe

2 个答案:

答案 0 :(得分:1)

以下是如何使用参数进行处理

        Process p = new Process();
        p.StartInfo.FileName = "cmd";
        p.StartInfo.Arguments = "arg1 arg2";
        p.StartInfo.UseShellExecute = false;

        p.Start();
        p.WaitForExit();

只需传递您想传递的任何参数,而不是arg1arg2

如果您需要知道如何从流程中获取输出,请说明一下,我也会将其包括在内。

您可以通过迭代列表来获取单个文件名,只需使用foreach循环

foreach(string fn LstFile.Items)
{
    //do something with fn
}

答案 1 :(得分:0)

使用ProcessStartInfo将参数传递给Process

ProcessStartInfo startInfo = new ProcessStartInfo("Explore.exe");
startInfo.Arguments = yourArguments;
Process.Start(startInfo);