Search code examples
c#appdata

How to create appdata folder with C#


I basically need to create a folder in the roaming application data of the current user running the program.
Then I also need to access another folder in the application data section where I have a file that I want to copy into the application data folder I had just created.


Solution

  • The first two passes are straightforward

    // The folder for the roaming current user 
    string folder = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
    
    // Combine the base folder with your specific folder....
    string specificFolder = Path.Combine(folder, "YourSpecificFolder");
    
    // CreateDirectory will check if every folder in path exists and, if not, create them.
    // If all folders exist then CreateDirectory will do nothing.
    Directory.CreateDirectory(specificFolder);
    

    In the last pass is not clear where you have the file to copy.
    However, supposing that you have a file called

    string file = @"C:\program files\myapp\file.txt";
    File.Copy(file, Path.Combine(specificFolder, Path.GetFileName(file));
    

    MSDN links:

    Path class
    Environment.SpecialFolder enum
    File.Copy method