Home > DeveloperSection > Forums > C# Change current FileInfo file?
Royce Roy
Royce Roy

Total Post:134

Posted on    December-18-2013 1:10 AM

 C# C# 

 1 Reply(s)
 1187  View(s)
Rate this:

I'd like to change the file that the FileInfo object is currently using. Let say I want to loop through 1000 files.

FileInfo myFile = new FileInfo("myfile.txt");


How can I do this? Was hoping for .FileName =, but it's readonly.

ezra heywood
ezra heywood

Total Post:145

Posted on    December-18-2013 1:35 AM

Hi Royce,

You can't do this in c# you don't have a built-in function use this function instead

 private void ChangeFiles(string fPath, string fNewName)


    string fExt;

    string fFromName;

    string fToName;

    int i = 1;

    //copy all files from fPath to files array

    FileInfo[] files = new DirectoryInfo(fPath).GetFiles();

    //loop through all files

    foreach (var f in files)


        //get the filename without the extension

        fFromName = Path.GetFileNameWithoutExtension(f.Name);

        //get the file extension

        fExt = Path.GetExtension(f.Name);

        //set fFromName to the path + name of the existing file

        fFromName = string.Format("{0}{1}", fPath, f.Name);

        //set the fToName as path + new name + _i + file extension

        fToName = string.Format("{0}{1}_{2}{3}", fPath, fNewName,i.ToString(), fExt);

        //rename the file by moving to the same place and renaming

        File.Move(fFromName, fToName);

        //increment i




Don't want to miss updates? Please click the below button!

Follow MindStick