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).
L'identificateur unique du fichier.
L'identificateur unique de la dernière version du fichier liée.
L'identificateur unique de l'élément source de type NsBackupSource duquel est issu le fichier.
Le nom du fichier.
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.
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.
La taille sur le disque de la dernière version du fichier stockée sur le serveur de sauvegarde.
L'identificateur unique du fichier attaché à la dernière version du fichier sauvegardé.
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.
Obtient la liste des versions successives du fichier qui sont stockées sur le serveur de sauvegarde.
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.
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