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 方法
將指定檔案移到新位置,並提供指定新檔案名稱的選項。