C# 向进程添加参数不起作用?

C# 向进程添加参数不起作用?,c#,process,arguments,C#,Process,Arguments,我用C#WinForms编写了这个程序 im使用system.diagnostic创建CMD进程。 有了这个cmd,我想要一些参数,但它们不存在或不起作用:S 不知道为什么 注意:我不知道如何使用超过1个参数,如果我错了请更正:D 我正在尝试复制“复制/b%filename%lpt1”命令 这是我的密码: public void OutputBtn_Process_Click(object sender, EventArgs e) { foreach (FileI

我用C#WinForms编写了这个程序

im使用system.diagnostic创建CMD进程。 有了这个cmd,我想要一些参数,但它们不存在或不起作用:S 不知道为什么

注意:我不知道如何使用超过1个参数,如果我错了请更正:D 我正在尝试复制“复制/b%filename%lpt1”命令

这是我的密码:

    public void OutputBtn_Process_Click(object sender, EventArgs e)
    {
        foreach (FileInfo fi in listBox1.Items)
        {
            Process process1 = new Process();
            process1.StartInfo.UseShellExecute = false;
            process1.StartInfo.Arguments = "copy /b myfile.txt test.txt";
            //process1.StartInfo.LoadUserProfile = true;
            process1.StartInfo.FileName = "cmd.exe";
            process1.StartInfo.WorkingDirectory = Path.GetDirectoryName(fi.FullName);
            process1.Start();
        }
    }
试试这个

 process1.StartInfo.Arguments = "/C \"copy /b myfile.txt LPT1:\""; 

注意:为了测试目的,我刚刚添加了test.txt而不是LPT1。没错,您只需要将“/c”作为第一个参数。您是否确实从listbox1中检索到了FileInfo实例。Items?是的。到目前为止,它是有效的:)如果没有path.GetdirectoryName,它将不起作用,比如说“路径无效”,但这也为我的下一个问题打开了大门。如何将文件名添加到cmd行?谢谢。它现在确实做了些什么。CMD窗口快速弹出并再次关闭,表示LPT1无法识别设备。但这可能是因为我的笔记本电脑中没有LPT端口。
 process1.StartInfo.Arguments = "/C \"copy /b myfile.txt LPT1:\"";