class NsBackupFile

La classe NsBackupFile décrit un fichier stocké sur le serveur de sauvegarde.

Comme ce fichier peut posséder plusieurs versions, représentant ses états différents au fil des sauvegardes, la classe NsBackupFile stocke uniquement les informations communes à celles-ci. Elle présente également par commodité certaines propriétés de la dernière version (la version la plus récente).

ID : __int64 readonly

L'identificateur unique du fichier.

VersionID : __int64 readonly

L'identificateur unique de la dernière version du fichier liée.

SourceID : __int64 readonly

L'identificateur unique de l'élément source de type NsBackupSource duquel est issu le fichier.

Name : BSTR readonly

Le nom du fichier.

ExistsAtDate : VARIANT_BOOL readonly

Retourne une variable booléenne indiquant si le fichier existe, ou bien s'il a été marqué comme supprimé à la date de chargement de la sauvegarde.

FromIncompleteBackup : VARIANT_BOOL readonly

Retourne une variable booléenne indiquant si la dernière version du fichier a été ajoutée au sein d'une sauvegarde ne s'étant pas exécutée jusqu'à son terme.

Size : __int64 readonly

La taille sur le disque de la dernière version du fichier stockée sur le serveur de sauvegarde.

FRN : __int64 readonly

L'identificateur unique du fichier attaché à la dernière version du fichier sauvegardé.

LastModDate : VARIANT readonly

La date de modification de la dernière version du fichier sauvegardé. Elle peut être au format local ou UTC en fonction du système de fichiers source. La fonction GetLocalFileDate de la classe NsBackupSource permet de convertir dans tous les cas une telle date en une date locale affichable par votre application.

NsBackupVersionCollection Versions(NsConnection Connection)

Obtient la liste des versions successives du fichier qui sont stockées sur le serveur de sauvegarde.

VARIANT_BOOL Revoke(NsConnection Connection)

Supprime toutes les versions du fichier ainsi que les données stockées correspondantes sur le serveur de sauvegarde. Comme cette opération casse la cohérence de la sauvegarde, elle ne devrait être utilisée que dans le cas ou une des versions du fichiers est endommagée ou a été supprimée sur le disque de stockage. Cette fonction n'est accessible qu'aux administrateurs du serveur de sauvegarde.

Sauvegarde dans un fichier tous les noms de fichier stockés par le serveur

const nsSourceIsFile = 2

Set connection = CreateObject("NsAPI.NsConnection")
Set sysutils = CreateObject("NsAPI.NsScriptUtils")

' Explore récursivement le contenu d'un dossier stocké sur le serveur
Sub RecursiveExploreDir(outfile, path, source, currentfolder)
  ' Ecrire directement les fichiers du dossier
  for each file in currentfolder.files
    outfile.WriteLine(path + file.Name)
  next
  ' Pour chaque sous dossier, appeler récursivement la fonction
  ' afin de les explorer chacun leur tour
  for each folder in currentfolder.subfolders
    RecursiveExploreDir outfile, sysutils.IncludeTrailingPathDelimiter(source.ParentPlatform, path + folder.Name), source, folder
  next
End Sub

' Ecris dans un fichier tous les fichiers stockés par un objet NsBackupSource
Sub OutputSourceContent(outfile, connection, source)
  if source.SourceType = nsSourceIsFile then
    ' L'élément source est un fichier : on écrit son directement son chemin d'accès
    outfile.WriteLine(source.PathName)
  else
    ' L'élément source est un dossier : on explore son contenu
    RecursiveExploreDir outfile, sysutils.IncludeTrailingPathDelimiter(source.ParentPlatform, source.PathName), source, source.LoadContentWithUI(connection)
  end if
End Sub

' Ecris dans un fichier tous les fichiers stockés par un objet NsBackup
Sub OutputBackupContent(outfile, connection, backup)
  Set sources = backup.Sources(connection)
  outfile.WriteLine(" -- Contenu de la sauvegarde '" & backup.Name & "' :")
  
  ' Explorer chaque source de backup.
  for each source in sources
    OutputSourceContent outFile, connection, source
  next
  
  outfile.WriteLine("")
End Sub


if connection.ConnectToLocalServer then
  set server = CreateObject("NsAPI.NsServer")
  
  if server.Load(connection) then
    set backups = server.AllBackups(connection)
    
    ' On va écrire le contenu serveur dans "C:\data\content.txt" :
    set fs = CreateObject("Scripting.FileSystemObject")
    set outFile = fs.CreateTextFile("C:\data\content.txt", True, True)
    
    ' Traiter chaque sauvegarde
    for each backup in backups
       OutputBackupContent outFile, connection, backup
    next
    
    outFile.close
  else
    MsgBox "Impossible de charger les informations serveur."
  end if
  
else
  MsgBox "Connexion au serveur local impossible."
end if