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

DiegoRomero
New Contributor II

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!

1 ACCEPTED SOLUTION

Keyser_Soze
New Contributor III

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 	

 



View solution in original post

4 REPLIES 4

Manasa
New Contributor III

DiegoRomero
New Contributor II

Thank you!

Keyser_Soze
New Contributor III

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 	

 



Thank you! very helpful!