Skip to main content
Newcomer
November 22, 2023
Solved

Question: Is there a way to clean up sub-folders within Batch?

  • November 22, 2023
  • 2 replies
  • 0 views

We have been running several tests on DM jobs to upload batch files through the Harvest. We have a lot of subfolders created that we don't need anymore. Is there any way to delete?

DiegoRomero_0-1700684359670.png

Thanks!

Best answer by Keyser_Soze

Hello, 

Here is a snippet of how to do so, all you need to do is add this 'Extensibility' business rule to a Data Management Step or launch it directly and you're set:

Dim folderPath As String = "Applications\<Your Application Name>\Batch"  ' You can use si.AppName
Dim mylistofFolders As List(Of XFFolderEx)= BRApi.FileSystem.GetFoldersInFolder(si, FileSystemLocation.FileShare, folderPath, True, True)
For Each folder As XFFolderEx In mylistofFolders							
    If folder.XFFolder.Name <> "Harvest"									
         Dim configSettings As AppServerConfigSettings = AppServerConfig.GetSettings(si)								
         Dim sourceFolderPath As String = FileShareFolderHelper.GetBatchFolderForApp(si, True, configSettings.FileShareRootFolder, si.AppName) & "\" & folder.XFFolder.Name																 
         Directory.Delete(sourceFolderPath, True)
    End If
Next folder 	

 



2 replies

Newcomer
November 23, 2023
Newcomer
November 23, 2023

Thank you!

Contributor
November 23, 2023

Hello, 

Here is a snippet of how to do so, all you need to do is add this 'Extensibility' business rule to a Data Management Step or launch it directly and you're set:

Dim folderPath As String = "Applications\<Your Application Name>\Batch"  ' You can use si.AppName
Dim mylistofFolders As List(Of XFFolderEx)= BRApi.FileSystem.GetFoldersInFolder(si, FileSystemLocation.FileShare, folderPath, True, True)
For Each folder As XFFolderEx In mylistofFolders							
    If folder.XFFolder.Name <> "Harvest"									
         Dim configSettings As AppServerConfigSettings = AppServerConfig.GetSettings(si)								
         Dim sourceFolderPath As String = FileShareFolderHelper.GetBatchFolderForApp(si, True, configSettings.FileShareRootFolder, si.AppName) & "\" & folder.XFFolder.Name																 
         Directory.Delete(sourceFolderPath, True)
    End If
Next folder 	

 



Newcomer
November 23, 2023

Thank you! very helpful!