C# CHANGE CURRENT FILEINFO FILE?

Royce Roy

Total Post:149

Points:1043
Posted by  Royce Roy
C# 
C#
 1588  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. ezra heywood

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

        }

    }

Answer

NEWSLETTER

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