2012-04-20 94 views
0

我尝试过的图像文件到C复制拷贝到c盘:驱动器(SYS操作),但它说错误妇女参与发展的访问被拒绝,我已经作为如何将文件从任何目录使用cmd在C#

string strCmdLine; 
    strCmdLine = @" /c xcopy d:\123.png C:\windows\system32"; 
    Process.Start("CMD.exe", strCmdLine); 
+0

在cmd shell中尝试相同的参数并查看它是否成功b4从代码中尝试它。 – Zenwalker 2012-04-20 05:58:53

+1

'xcopy'是一个本地程序,而不是内置的shell。你不需要通过'cmd'运行它。 – Joey 2012-04-20 06:02:27

+0

你真的需要使用命令行吗?已经有几个内建类可以完成这项工作。如果要处理可能的异常/失败者(特别是对返回结果下的问题的评估),使用命令外壳并不是很容易。请参阅System.IO命名空间和FileInfo/File类,地址为:http://msdn.microsoft.com/de-de/library./system.io%28v=vs.90%29.aspx – Beachwalker 2012-04-20 06:18:54

回答

0

你需要运行的CMD.exe作为管理员尝试以下

 Process p = new Process(); 
     p.StartInfo.FileName = "cmd.exe"; 
     p.StartInfo.Verb = "runas"; 
     p.StartInfo.UseShellExecute = false; 
     p.StartInfo.RedirectStandardInput = true; 
     p.Start(); 

     p.StandardInput.WriteLine(@"/c xcopy d:\123.png C:\windows\system32"); 

您可以检查This后它展示了如何运行程序作为管理员。

+0

thnks很多先生, – 2012-04-20 06:27:51

1

你可能没有足够的权限....

尝试添加凭据:

Process p = new Process(); 
    process.StartInfo.UserName = "aaaa"; 
    process.StartInfo.Password = "xxxxx"; 
... 
... 

也验证:

阅读权限:C:\windows\system32

+0

先生,但如果我们想制作一个应用程序,用户浏览他自己的图片,然后将应用程序复制到c:驱动器,那么它将如何获得许可? – 2012-04-20 06:06:13

1

拒绝访问可能由几个原因,比如用户权限或文件正在使用中造成的:d:\123.png

写权限。由于命令行似乎正常,我建议检查您的应用程序是否由有权写入C:\ windows \ system32的Windows用户运行。

相关问题