C# Change current FileInfo file?

Total Post:149

Points:1043
C# 
C#
 1918  View(s)
Ratings:
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");
myFile.ChangeFile("myfile2.txt");                   
How can I do this? Was hoping for .FileName =, but it's readonly.
  1. Post:145

    Points:1019
    Re: C# Change current FileInfo file?

    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
            i++;
        }
    }

      Modified On Apr-04-2018 12:38:11 AM

Answer

NEWSLETTER

Enter your email address here always to be updated. We promise not to spam!