2012-04-20 21 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用戶運行。

相關問題