1

我想以管理员身份复制 C 根目录中的文件,它适用于某些路径。我使用的用户具有管理员权限,但我仍然无法复制。

我的代码是:

string strCmdText = string.Empty;
strCmdText = "copy /Y " + "\"" + fullpath + "\"" + " " + "\"" + _name.FullPath + "\\" + subject + ".msg" + "\"";
System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.FileName = "cmd.exe";
startInfo.Verb = "runas";
startInfo.CreateNoWindow = true;
startInfo.RedirectStandardOutput = true;
startInfo.RedirectStandardInput = true;
startInfo.UseShellExecute = false;
startInfo.Arguments = strCmdText;
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
process.StartInfo = startInfo;
process.Start();
StreamWriter sw = process.StandardInput;
sw.WriteLine(strCmdText);
sw.Close();
process.WaitForExit();
string output = process.StandardOutput.ReadToEnd();
process.Dispose();
process.Close();

我收到以下错误: You don't have appropriate permission to perform this operation.

4

3 回答 3

0

根据您在本地或通过网络运行 Web 应用程序,但通常要写入 C 驱动器,您可以将 NETWORK SERVICE 添加到目标文件夹。

于 2013-04-01T09:50:53.753 回答
0

将此添加到您的代码中:

startInfo.UserName = "Administrator";
startInfo.Password = "password";

希望这有帮助。

于 2013-04-01T09:59:50.097 回答
0

取自评论。这看起来像 UAC。尝试关闭 UAC,如果可行,那么您就知道下一步该去哪里了!

于 2013-04-01T11:53:19.140 回答