C# 通过C运行多个提升的Cmd提示#

C# 通过C运行多个提升的Cmd提示#,c#,windows-7,cmd,admin,scheduler,C#,Windows 7,Cmd,Admin,Scheduler,我基本上是在尝试从位于C:\Windows\System32\Tasks的Tasks文件夹复制所有文件,并使用C#将其传输到所选的任何文件夹。到目前为止,我有以下代码: String strCmdTxt = "/k %WINDIR%\\sysnative\\cmd.exe && xcopy\"C:\\Windows\\System32\\Tasks\\*.*\" \"C:\\Users\\Blah_Blah\\Documents\\Test\\\" /e /i /h"; Syst

我基本上是在尝试从位于
C:\Windows\System32\Tasks
的Tasks文件夹复制所有文件,并使用C#将其传输到所选的任何文件夹。到目前为止,我有以下代码:

String strCmdTxt = "/k %WINDIR%\\sysnative\\cmd.exe && xcopy\"C:\\Windows\\System32\\Tasks\\*.*\" \"C:\\Users\\Blah_Blah\\Documents\\Test\\\" /e /i /h";
System.Diagnostics.ProcessStartInfo i = new System.Diagnostics.ProcessStartInfo();//("cmd.exe", strCmdTxt);
System.Diagnostics.Process p = new System.Diagnostics.Process();
i.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal;
i.UseShellExecute =true;
i.FileName = "C:\\Windows\\System32\\cmd.exe";
i.Verb = "runas";
p.StartInfo = i;
try{
    p.Start();
    Console.WriteLine("The folders were copied");
    p.WaitForExit();
    p.Close();
} catch (Exception e) {
    Console.WriteLine("error");
}
所以问题是,这可以编译,但不能产生我想要的

我使用
I.Verb
确保命令以管理员身份运行,以便它可以访问任务的计划文件。此外,我还运行
%WINDIR%\\sysnative\\cmd.exe
,以便cmd可以访问
System32
文件夹,因为cmd在
SysWOW64
中打开

但由于某些原因,它的其余部分(
xcopy\'C:\\Windows\\System32\\Tasks\\*.\\\\“\'C:\\Users\\Kapil\u Gowru\\Documents\\Test\\\\”/e/i/h
)似乎没有运行。我曾尝试使用
StreamWriter
执行此任务,因此我可以向cmd输出两个单独的命令,但这使我无法作为管理员运行cmd


所以我想,实现这一目标的另一种可能性是什么?如果你对我的问题还有任何疑问,请发到这里,我会回复。提前谢谢

启动进程后,我看不到将命令发送到进程的位置,请尝试重定向
StandardInput
然后发送strCmdTxt,有关使用StandardInput的示例,请参见此

虽然我不明白你为什么要尝试使用一个进程来启动cmd提示符来复制文件,但你为什么不直接从C#复制文件?使用good old,以管理员/管理员的身份启动你的应用程序