0

We have a site which has few document libraries and each library has n number or folders and sub folders.

I want to get all the files only from the folders or sub folders which name is ABC and XYZ using CSOM or REST.

0

Below is the CSOM code to get the list of files in a folder in SharePoint online library.

static void Main(string[] args)
{
    string userName = "<user name>";
    string password = "<password>";
    var securePassword = new SecureString();
    foreach (char c in password)
    {
        securePassword.AppendChar(c);
    }
    using (ClientContext cxt = new ClientContext("<your site URL>"))
    {
        cxt.Credentials = new SharePointOnlineCredentials(userName, securePassword);
        Web web = cxt.Web;
        cxt.Load(web, a => a.ServerRelativeUrl);
        cxt.ExecuteQuery();
        List list = cxt.Web.Lists.GetByTitle("<your library name >");
        cxt.Load(list);
        cxt.Load(list.RootFolder);
        cxt.Load(list.RootFolder.Folders);
        cxt.Load(list.RootFolder.Files);
        cxt.ExecuteQuery();
        FolderCollection fcol = list.RootFolder.Folders;
        List<string> lstFile = new List<string>();
        foreach (Folder f in fcol)
        {
            if (f.Name == "<your folder name>")
            {
                cxt.Load(f.Files);
                cxt.ExecuteQuery();
                FileCollection fileCol = f.Files;
                foreach (File file in fileCol)
                {
                    lstFile.Add(file.Name);
                }
            }
        }
    }
}
  • Thanks for your response. Above code will work for all the folders in the library not the subfolders. – girish Jun 7 '18 at 14:19
  • Check this article: sharepoint.stackexchange.com/questions/211165/… – imp. MSFT Jun 8 '18 at 2:00
  • I am able to get all files from all the folders and subfolders. But I need only files which has modified or created yesterday. Tried the CAML query camlQuery.ViewXml = "<View Scope='Recursive'><Query><Where><Eq><FieldRef Name = 'Modified'/><Value Type = 'DateTime'> <Today OffsetDays='-1'/></Value ></Eq></Where></Query></View>"; But no hope . – girish Jul 20 '18 at 12:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.