[英]Error Access to the path is denied when Rename a Directory
我想使用在文本框txtFilenFolderName
輸入的新名稱來重命名文件夾:
protected void btnUpdate_Click(object sender, EventArgs e)
{
string[] values = EditValue;
string oldpath = values[0];// = "D:\\C#Projects\\website\\Lecturer\\giangvien\\New folder"
string oldName = values[2]; //= New Folder
string newName = txtFilenFolderName.Text; //= New Folder1
string newPath = string.Empty;
if (oldName != newName)
{
newPath = oldpath.Replace(oldName, newName);
Directory.Move(oldpath, newPath);
}
else
lblmessage2.Text = "New name must not be the same as the old ";
}
}
嘗試調試:
oldpath = "D:\\C#Projects\\website\\Lecturer\\giangvien\\New folder"
oldName = New Folder
newName= New Folder1
newpath = "D:\\C#Projects\\website\\Lecturer\\giangvien\\New folder1"
一切似乎都正確,但是當我單擊按鈕編輯--->重命名--->更新--->時發生錯誤: Access to the path is denied D:\\\\C#Projects\\\\website\\\\Lecturer\\\\giangvien\\\\New folder
救命!
路徑"D:\\\\C#Projects\\\\website\\\\Lecturer\\\\giangvien\\\\New folder"
可能不存在。 我認為您的意思是"D:\\C#Projects\\website\\Lecturer\\giangvien\\New folder"
。 我認為@CharmingInferno試圖達到的目的是,當您在字符串前面使用@
時,您不需要使用轉義字符,因為它可以像下面這樣處理文本
string g = "\\\\server\\share\\file.txt"; // \\server\share\file.txt
string h = @"\\server\share\file.txt"; // \\server\share\file.txt
但是,您將值放入EditValue
字符串數組中時,應更正該值。
我剛才有同樣的問題。
使用
Directory.Move(srcDirectory, dstDirectory);
有時會導致Access to the path /dstDirectory/ is denied
例外,有時則不會。
以下為我解決。
new DirectoryInfo(srcDirectory).MoveTo(dstDirectory);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.