PnP — PowerShell — SharePoint — получение всех файлов в библиотеке, но без элементов папки

Я использую модуль PnP PowerShell для взаимодействия со списками/библиотеками SharePoint. Я запускаю следующий командлет, чтобы получить список всех файлов в библиотеке. Это работает отлично, за исключением того, что он также возвращает все папки в библиотеке. Есть ли способ пропустить элементы папки? Я все еще хочу, чтобы файлы в папках возвращались, но не папки.

$files = (Get-PnPListItem -List $docLib.Title -Fields FileLeafRef","FileRef","Title").FieldValues

Я подозреваю, что могу добавить предложение Where, однако я не уверен, какое свойство будет идентифицировать элемент как папку. Любое руководство будет оценено. Спасибо!

Большое спасибо

ОБНОВЛЕНО: $files[0] | гм возвращает:

Add               Method                void Add(string key, System.Object value), void IDictionary[string,Object].Add(string key, System.Object value), void ICollection[KeyValuePair[stri...
Clear             Method                void Clear(), void ICollection[KeyValuePair[string,Object]].Clear(), void IDictionary.Clear()                                                         
Contains          Method                bool ICollection[KeyValuePair[string,Object]].Contains(System.Collections.Generic.KeyValuePair[string,System.Object] item), bool IDictionary.Contai...
ContainsKey       Method                bool ContainsKey(string key), bool IDictionary[string,Object].ContainsKey(string key), bool IReadOnlyDictionary[string,Object].ContainsKey(string key)
ContainsValue     Method                bool ContainsValue(System.Object value)                                                                                                               
CopyTo            Method                void ICollection[KeyValuePair[string,Object]].CopyTo(System.Collections.Generic.KeyValuePair[string,System.Object][] array, int arrayIndex), void I...
Equals            Method                bool Equals(System.Object obj)                                                                                                                        
GetEnumerator     Method                System.Collections.Generic.Dictionary`2+Enumerator[string,System.Object] GetEnumerator(), System.Collections.Generic.IEnumerator[System.Collections...
GetHashCode       Method                int GetHashCode()                                                                                                                                     
GetObjectData     Method                void GetObjectData(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context), void ISerializable....
GetType           Method                type GetType()                                                                                                                                        
OnDeserialization Method                void OnDeserialization(System.Object sender), void IDeserializationCallback.OnDeserialization(System.Object sender)                                   
Remove            Method                bool Remove(string key), bool IDictionary[string,Object].Remove(string key), bool ICollection[KeyValuePair[string,Object]].Remove(System.Collection...
ToString          Method                string ToString()                                                                                                                                     
TryGetValue       Method                bool TryGetValue(string key, [ref] System.Object value), bool IDictionary[string,Object].TryGetValue(string key, [ref] System.Object value), bool I...
Item              ParameterizedProperty System.Object Item(string key) {get;set;}, System.Object IDictionary.Item(System.Object key) {get;set;}                                               
Comparer          Property              System.Collections.Generic.IEqualityComparer[string] Comparer {get;}                                                                                  
Count             Property              int Count {get;}                                                                                                                                      
IsFixedSize       Property              bool IsFixedSize {get;}                                                                                                                               
IsReadOnly        Property              bool IsReadOnly {get;}                                                                                                                                
IsSynchronized    Property              bool IsSynchronized {get;}                                                                                                                            
Keys              Property              System.Collections.Generic.Dictionary`2+KeyCollection[string,System.Object] Keys {get;}                                                               
SyncRoot          Property              System.Object SyncRoot {get;}                                                                                                                         
Values            Property              System.Collections.Generic.Dictionary`2+ValueCollection[string,System.Object] Values {get;}  

ОБНОВЛЕНО: $files[0] возвращает следующее (вы можете видеть, что он возвращает папку с именем «Общие»):

FileLeafRef                General                                                                                                                                                            
FileRef                    /sites/Finance/Shared Documents/General                                                                                                                            
Title                      General                                                                                                                                                            
HTML_x0020_File_x0020_Type Team.Channel                                                                                                                                                       
MetaInfo                   vti_isexecutable:BW|false...                                                                                                                                       
_ModerationStatus          0                                                                                                                                                                  
_Level                     1                                                                                                                                                                  
Last_x0020_Modified        2022-04-03T19:52:10Z                                                                                                                                               
ID                         1                                                                                                                                                                  
UniqueId                   10d788d1-0308-4768-b47b-33f79723386e                                                                                                                               
owshiddenversion           2                                                                                                                                                                  
FSObjType                  1                                                                                                                                                                  
Created_x0020_Date         2022-01-26T10:35:55Z                                                                                                                                               
ProgId                     Team.Channel                                                                                                                                                       
Modified                   1/26/2022 10:35:56 AM                                                                                                                                              
CheckoutUser                                                                                                                                                                                  
ScopeId                    {3E95DFBF-DEF4-4FC8-AE50-C84D4E2F4483}                                                                                                                             
Editor                     Microsoft.SharePoint.Client.FieldUserValue        

ОБНОВЛЕНО: Вот свойства файла, FSObjType отличается, выглядит как 1 для папок и 0 для файлов:

FileLeafRef                Document.docx                                                                                                                                                      
FileRef                    /sites/Finance/Shared Documents/General/Document.docx                                                                                                              
Title                      test                                                                                                                                                               
HTML_x0020_File_x0020_Type                                                                                                                                                                    
MetaInfo                   vti_mediaservicemetadata:SW|{"ctag":"\\"c:{7799CB41-34F1-40F5-A701-BFF6AAC846D0},5\\"","generationTime":"2022-01-26T12:13:38.1337171Z","buildVersion":"Media_PRO...
_ModerationStatus          0                                                                                                                                                                  
_Level                     1                                                                                                                                                                  
Last_x0020_Modified        2022-01-27T09:04:07Z                                                                                                                                               
ID                         2                                                                                                                                                                  
UniqueId                   7799cb41-34f1-40f5-a701-bff6aac846d0                                                                                                                               
owshiddenversion           6                                                                                                                                                                  
FSObjType                  0                                                                                                                                                                  
Created_x0020_Date         2022-01-26T12:12:31Z                                                                                                                                               
ProgId                                                                                                                                                                                        
Modified                   1/27/2022 9:04:06 AM                                                                                                                                               
CheckoutUser                                                                                                                                                                                  
ScopeId                    {3E95DFBF-DEF4-4FC8-AE50-C84D4E2F4483}                                                                                                                             
Editor                     Microsoft.SharePoint.Client.FieldUserValue     

Итак, я обновил свой вызов до следующего, который теперь работает отлично, спасибо, Тони!

$files = (Get-PnPListItem -List $docLib.Title -Fields "FileLeafRef","Title").FieldValues | Where {$_.FSObjType -eq "0"} 

пожалуйста, сообщите нам, какие объекты содержит переменная $files, чтобы увидеть доступные свойства. $files[0] | gm достаточно

Toni 14.10.2022 16:34

Привет Тони, я обновил описание с результатами

dev123 14.10.2022 17:27

Я предполагаю, что FSObjType сообщает вам, какой это тип объекта, и вы, вероятно, могли бы отфильтровать их, указав параметр -query или на уровне оболочки с помощью where-object

Toni 14.10.2022 17:40

@Toni - FSObjType - это то, что нужно! спасибо, вы хотите добавить ответ, чтобы я мог пометить его как исправление - так что вы получите кредит :)

dev123 14.10.2022 17:58

спасибо за предложение ... но все в порядке, как есть ... я дал вам немного информации, и вы справились и задокументировали это самостоятельно, у.е. в следующий раз ;-)

Toni 14.10.2022 18:16
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
5
270
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Пожалуйста, смотрите обновленное описание, FSObjType позволит вам вытащить файлы или папки (0 для файлов, 1 для папок)

Другие вопросы по теме