C# 在与原始文件相同的位置创建文件副本

C# 在与原始文件相同的位置创建文件副本,c#,ms-word,filepath,docx,file-rename,C#,Ms Word,Filepath,Docx,File Rename,最终用户提供一个路径,指示原始文档所在的位置 string DocxFileName = "C:\\WorksArshad\\3.docx"; 我想将文档名3.docx的副本创建为3Version1.docx,并将副本存储在与原始文档相同的目录中 如果没有文件名和扩展名,如何获取整个路径 (即)我需要单独获取“C:\\WorksArshad\\”路径 FileInfo file = new FileInfo(Session.FileName); string path = file.Dire

最终用户提供一个路径,指示原始文档所在的位置

string DocxFileName = "C:\\WorksArshad\\3.docx";
我想将文档名
3.docx
的副本创建为
3Version1.docx
,并将副本存储在与原始文档相同的目录中

如果没有文件名和扩展名,如何获取整个路径

(即)我需要单独获取
“C:\\WorksArshad\\”
路径

FileInfo file = new FileInfo(Session.FileName); 
string path = file.Directory.tostring();
然后使用

        string fileName = Path.GetFileNameWithoutExtension(Session.FileName);
        string DocxFileNamee = path + "\\" + fileName + "V1.docx";
        File.Copy(Session.FileName, DocxFileNamee, true);
其中在Session.FileName=“C:\WorksArshad\3.docx”路径中,我会得到“C:\WorksArshad”

需求解决了



以上两种方法都给出了解决方案

Use
File.Move(“C:\\WorksArshad\\3.docx”,“C:\\WorksArshad\\test.docx”)
@Grant:这不仅仅是重命名的问题,我还需要将重命名后的文件存储到存储原始文档的指定路径。->@user3611781:然后制作一份副本。似乎很简单。@siride:File.Copy(“C:\WorksArshad\3”,“C:\WorksArshad\3Version1.docx”,true);这是不可能的,因为我从用户(ie)文件中获取路径;FileInfo file=newfileinfo(C:\WorksArshad\3.docx);字符串路径=file.Directory;在路径中,我会得到“C:\WorksArshad”,这就是我需要的,嗯。我失去了我的代表tooo.Angry我编辑了你的答案,因为它显示了一个异常,并更新了答案@Grantwiney
File.Copy(Session.FileName, Path.Combine(Path.GetDirectoryName(Session.FileName)
, Path.GetFileNameWithoutExtension(Session.FileName)+"V1.docx"),true);