Removing a specific set of items (this could also be documents) in SharePoint from a list (or Library) may be challenging. If all items could be removed of a few specific folders this could be easily done manually. But if only some items need to be removed (and in other similar cases) it may be useful to script the removal of items.
Assuming there is already a correct client context object $ctx (please have a look for some of my other posts if you want to know how to get a Client Context Object) I will show a few quick examples of how to remove an item if you know either its ID (and the title of the list or library it lives in) or its server relative path (only applies to files or folders).
By ID:
$ctx.Web.Lists.GetByTitle("Library or list title").GetItemById(123).DeleteObject() $ctx.ExecuteQuery()
By Server relativeUrl (File):
$ctx.Web.GetFileByServerRelativeUrl("/sites/sitename/library/file.txt").ListItemAllFields().DeleteObject() $ctx.ExecuteQuery()
By Server relativeUrl (Folder or Document Set):
$ctx.Web.GetFolderByServerRelativeUrl("/sites/sitename/library/folder").ListItemAllFields().DeleteObject() $ctx.ExecuteQuery()
You could optimize performance by running the ExecuteQuery command after each 100 removals. However, if the first of the 100 goes wrong, the other 99 are not processed. That is why I recommend to use this as mentioned above (have one ExecuteQuery for each item that is removed).