在我的网站项目中。我需要通过代码重命名或删除一些文件夹。
有时候我可以做所有这些,但有时我不能犯错:Access to the path is denied
尝试在Google上找到解决方案。可能是,有两个原因:
尝试检查:
为什么呢?我仍然不明白为什么有时我可以重命名文件夹,但有时我不能。
帮助!!我需要你的意见!!!
更新:
看看上面的代码:
我想在文本框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
帮助!
答案 0 :(得分:2)
向您登录的用户授予权限(读/写/修改)。 或者您可以“以管理员身份”运行程序。
修改强>
试试这个..在你的应用程序中添加对Microsoft.VisualBasic
的引用。然后使用
Microsoft.VisualBasic.FileIO.FileSystem.RenameDirectory("currentName", "newName");
希望有所帮助:)
P.S。: RenameDirectory
验证参数并致电Directory.Move
。如果要在服务器中重命名文件夹,可以将根文件夹中的修改访问权限授予IIS用户。但是,如果您打算在客户端计算机中重命名文件夹,则无法重命名任何文件夹(除了一些目录,如temp中的文件夹)。
答案 1 :(得分:0)
通常,网站不能简单地访问客户端本地文件系统。 (这也是一件好事!)
请参阅此帖:How to get client file system directories in treeview asp.net C#