C# 批量修改部分文件名

发布网友 发布时间:2022-02-23 00:25

我来回答

4个回答

热心网友 时间:2022-02-23 01:54

思路:

先通过文件夹对象找到所有文件

FIleInfo 文件操作对象 截取文件名 如 asdf.txt ->asdf   

将指定文件移动到新的位置,并重新指定文件名 

案例如下:

//获取D盘下aaa文件夹下面的所有文件     
string [] path=Directory.GetFiles(@"D:\aaa");            
foreach (string str in path)            
     {                
         FileInfo file = new FileInfo(str);                
         //截取文件名 如 asdf.txt ->asdf                
         string f = file.Name.Substring(0, file.Name.LastIndexOf("."));                    //替换指定文件名 新文件地址      file.Extension指文件的后缀名                     string p = @"D:\aaa\" +(f.Replace("x", "abd") + file.Extension);                  //将指定文件移动到新的位置,并重新指定文件名                
         file.MoveTo(p);           
     }


如有问题可以追问,我当及时回答.

希望能帮到你!

热心网友 时间:2022-02-23 03:12

需要用到Directory 类或者DirectoryInfo 只是一个可以用静态方法,一个需要实例化。 根据你的情况建议用DirectoryInfo 。  直接用实例化之后用GetFiles()的Method,返回的是一个FileInfo的集合,遍历这个集合获得每一个文件的路径,  最后用File.move(old,new);大概就这样了,有问题在问我


追问这个试过。貌似只能用全新的文件名代替oldname么?

追答其实原理是把那个文件移动了 ,只是移动后改了名字。 而且 全新的文件名替换有问题么, 这几行代码 有问题?

热心网友 时间:2022-02-23 04:47

C#里面没有重名,

不过可以试试File.Move这个方法
把原来的文件名取出来.然后进行字符串处理

热心网友 时间:2022-02-23 06:38

先扫描文件名,把文件名保存成字符,替换掉字符,重新命名文件就可以了追问回头查查语法试试。。

回头查查语法试试。。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com