@@ -168,31 +168,32 @@ protected override void ExecuteCmdlet()
168168 else errored ++ ;
169169 }
170170
171- // Process files
172- if ( sourceFolder . Files != null && sourceFolder . Files . Count > 0 )
171+ // When Recursive is enabled, process files and subfolders; otherwise only the folder item itself
172+ if ( Recursive )
173173 {
174- foreach ( var sourceFile in sourceFolder . Files )
174+ // Process files in the current folder
175+ if ( sourceFolder . Files != null && sourceFolder . Files . Count > 0 )
175176 {
176- var src = UrlUtility . Combine ( sourceFolderUrl , sourceFile . Name ) ;
177- var dst = UrlUtility . Combine ( targetFolderUrl , sourceFile . Name ) ;
178- var r = SyncFileMetadata ( src , dst , sourceContext , targetContext ) ;
179- if ( r == SyncResult . Success ) processed ++ ;
180- else if ( r == SyncResult . Skipped ) skipped ++ ;
181- else errored ++ ;
177+ foreach ( var sourceFile in sourceFolder . Files )
178+ {
179+ var src = UrlUtility . Combine ( sourceFolderUrl , sourceFile . Name ) ;
180+ var dst = UrlUtility . Combine ( targetFolderUrl , sourceFile . Name ) ;
181+ var r = SyncFileMetadata ( src , dst , sourceContext , targetContext ) ;
182+ if ( r == SyncResult . Success ) processed ++ ;
183+ else if ( r == SyncResult . Skipped ) skipped ++ ;
184+ else errored ++ ;
185+ }
182186 }
183- }
184187
185- // Process subfolders recursively if Recursive is enabled
186- if ( Recursive )
187- {
188+ // Process subfolders recursively
188189 foreach ( var sourceSubfolder in sourceFolder . Folders )
189190 {
190191 if ( sourceSubfolder . Name . StartsWith ( "_" ) ) continue ; // Skip system folders
191192
192193 var sourceSubfolderUrlCombined = UrlUtility . Combine ( sourceFolderUrl , sourceSubfolder . Name ) ;
193194 var targetSubfolderUrl = UrlUtility . Combine ( targetFolderUrl , sourceSubfolder . Name ) ;
194195 var subResults = SyncFolderMetadataRecursive ( sourceSubfolderUrlCombined , targetSubfolderUrl , sourceContext , targetContext ) ;
195-
196+
196197 processed += subResults . Processed ;
197198 skipped += subResults . Skipped ;
198199 errored += subResults . Errored ;
0 commit comments