我基本上是在尝试将 Tasks 文件夹中的所有文件复制C:\Windows\System32\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_Gowru\\Documents\\Test\\\" /e /i /h
) 似乎没有运行。我已经尝试使用StreamWriter
这样我可以向 cmd 输出两个单独的命令来执行此任务,但这使我无法以管理员身份运行 cmd。
所以我想还有什么办法可以做到这一点?如果您对我的问题有任何疑问,请在此处发布,我会回复。提前致谢!