C#里面,重命名文件時,沒有 rename 這個功能,使用的是FileInfo.MoveTo的方式,MoveTo 到原目錄里一個新的名字,即實現了重命名
string newName = txtFileName.Text.Trim(); string oldName = Request.QueryString["fileName"]; RSPSession sessionRsp = (RSPSession)Session["RSPSetting"]; string basePath = sessionRsp.BaseFolder; string currPath = basePath + sessionRsp.CurrentRelFolder; string sourceFileName = ""; if (!string.IsNullOrEmpty(newName)) { string currFilePath = Path.Combine(currPath, oldName); sourceFileName = currFilePath; string extension = sourceFileName.Substring(sourceFileName.LastIndexOf('.'), sourceFileName.Length - sourceFileName.LastIndexOf('.')); if (File.Exists(Path.Combine(currPath, newName+extension))) { Response.Write("文件夾中存在此名稱文件,請更改文件名。"); } else { currFilePath = Path.Combine(currPath, newName); FileInfo fileInfo = new FileInfo(sourceFileName); fileInfo.MoveTo(currFilePath + extension); Response.Write("<script>self.parent.tb_remove();</script>"); } }
FileInfo.MoveTo 方法
將指定文件移到新位置,並提供指定新文件名的選項。
