C# Change current FileInfo file?

Posted by  Royce Roy
 2303  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.
  1. 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

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