Vault Datastandards 2019 - folder structure - copy files

Vault Datastandards 2019 - folder structure - copy files

Anonymous
Not applicable
440 Views
1 Reply
Message 1 of 2

Vault Datastandards 2019 - folder structure - copy files

Anonymous
Not applicable

Ive got the following code i'm trying to get it to copy all the files within my folder structure. 

 

 


function recursivelyCreateFolders($targetFolder, $sourceFolder)
{
$sourceSubFolders = $vault.DocumentService.GetFoldersByParentId($sourceFolder.Id,$false)
foreach ($folder in $sourceSubFolders) {
$newTargetSubFolder = $vault.DocumentServiceExtensions.AddFolderWithCategory($folder.Name, $targetFolder.Id, $folder.IsLibrary, $folder.Cat.CatId)
$newTargetFiles = $vault.DocumentService.GetLatestFilesByFolderId($folder.Id, $false)

foreach ($file in $newTargetFiles) {

$newTargetPath=$newTargetSubFolder.FullName+"/"+$file.Name

$FileSelectionId = [Autodesk.Connectivity.Explorer.Extensibility.SelectionTypeId]::File
$FileLocation = New-Object Autodesk.Connectivity.Explorer.Extensibility.LocationContext $FileSelectionId, $newTargetPath
$vaultContext.GoToLocation = $FileLocation
}
}
recursivelyCreateFolders -targetFolder $newTargetSubFolder -sourceFolder $folder
}

 

0 Likes
441 Views
1 Reply
Reply (1)
Message 2 of 2

Anonymous
Not applicable

Also need to know how to attach properties to these sub folders. and the files. 

function recursivelyCreateFolders($targetFolder, $sourceFolder)
{
$sourceSubFolders = $vault.DocumentService.GetFoldersByParentId($sourceFolder.Id,$false)
foreach ($folder in $sourceSubFolders) {
$newTargetSubFolder = $vault.DocumentServiceExtensions.AddFolderWithCategory($folder.Name, $targetFolder.Id, $folder.IsLibrary, $folder.Cat.CatId)
$FolderProperties = GetFolderProperties -folder $folder
#need code to update folder properties on $newTargetSubFolder
$newTargetFiles = $vault.DocumentService.GetLatestFilesByFolderId($folder.Id, $false)

foreach ($file in $newTargetFiles) {

$newTargetPath=$newTargetSubFolder.FullName+"/"+$file.Name
$FileProperties = GetFolderProperties -file $file
#need code to update folder properties on the new file
$FileSelectionId = [Autodesk.Connectivity.Explorer.Extensibility.SelectionTypeId]::File
$FileLocation = New-Object Autodesk.Connectivity.Explorer.Extensibility.LocationContext $FileSelectionId, $newTargetPath
$vaultContext.GoToLocation = $FileLocation
}
}
recursivelyCreateFolders -targetFolder $newTargetSubFolder -sourceFolder $folder
}

0 Likes