Inclure les sous dossiers...
Gafab
-
Gafab -
Gafab -
Bonjour a tous,
je développe rarement et je me retrouve devant un problème.
j'ai glané a droite, a gauche, ce script (ci-après) pour déplacer des archives de +de 7 jours sur une autre machine.
Il fonctionne bien sauf que je doit également l'appliquer pour un dossier ou il y a plein de sous dossiers.
je ne trouve pas comment inclure les sous dossiers et surtout les déplacer dans les mêmes sous dossiers de l'autre coté.
======================================
Option Explicit
Dim oFSO, oFolder, sDirectorySource, sDirectoryDest
Dim oFileCollection, oFile, sDir
Dim iDaysOld
sDirectorySource = "D:\Archives"
sDirectoryDest = "\\SERVER\Sauvegarde\Archives\"
iDaysOld = 7
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFolder = oFSO.GetFolder(sDirectorySource)
Set oFileCollection = oFolder.Files
For each oFile in oFileCollection
If oFile.DateLastModified < (Date() - iDaysOld) Then
oFile.Move(sDirectoryDest)
End If
Next
Set oFSO = Nothing
Set oFolder = Nothing
Set oFileCollection = Nothing
Set oFile = Nothing
=======================================
Désolé, je suis très pauvre en connaissances vbs... si quelqu'un peu m'aider ce serait bienvenue.
merci par avance.
Gafab.
je développe rarement et je me retrouve devant un problème.
j'ai glané a droite, a gauche, ce script (ci-après) pour déplacer des archives de +de 7 jours sur une autre machine.
Il fonctionne bien sauf que je doit également l'appliquer pour un dossier ou il y a plein de sous dossiers.
je ne trouve pas comment inclure les sous dossiers et surtout les déplacer dans les mêmes sous dossiers de l'autre coté.
======================================
Option Explicit
Dim oFSO, oFolder, sDirectorySource, sDirectoryDest
Dim oFileCollection, oFile, sDir
Dim iDaysOld
sDirectorySource = "D:\Archives"
sDirectoryDest = "\\SERVER\Sauvegarde\Archives\"
iDaysOld = 7
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFolder = oFSO.GetFolder(sDirectorySource)
Set oFileCollection = oFolder.Files
For each oFile in oFileCollection
If oFile.DateLastModified < (Date() - iDaysOld) Then
oFile.Move(sDirectoryDest)
End If
Next
Set oFSO = Nothing
Set oFolder = Nothing
Set oFileCollection = Nothing
Set oFile = Nothing
=======================================
Désolé, je suis très pauvre en connaissances vbs... si quelqu'un peu m'aider ce serait bienvenue.
merci par avance.
Gafab.
A voir également:
- Inclure les sous dossiers...
- Comment inclure une video dans un powerpoint - Guide
- Afficher la taille des dossiers windows 11 - Guide
- Renommer tous les fichiers d'un dossier - Guide
- Sélectionnez une application qui permet de trouver les dossiers et fichiers d’un ordinateur. - Guide
- Synchronisation des dossiers avec abonnement - Forum Mail
2 réponses
Bonjour,
Voilà un script que j'ai fait y'a un moment, à parfaire et adapter (c'était mes débuts en vbs :) ); l'idée était de créer un backup d'un dossier ou de mettre à jour ce backup (de D: vers P:); ce script passe par un fonciton recursive qui parcourt les sous-dossiers, dans mes souvenirs ça marchait bien.....
Dsl de n'avoir pas le temps de fauire les modifs mais tu devrais trouver l'aide nécessaire sur ce forum ;)
Voilà un script que j'ai fait y'a un moment, à parfaire et adapter (c'était mes débuts en vbs :) ); l'idée était de créer un backup d'un dossier ou de mettre à jour ce backup (de D: vers P:); ce script passe par un fonciton recursive qui parcourt les sous-dossiers, dans mes souvenirs ça marchait bien.....
Dsl de n'avoir pas le temps de fauire les modifs mais tu devrais trouver l'aide nécessaire sur ce forum ;)
racine= "D:\Perso"
Set FSO = WScript.CreateObject("Scripting.FileSystemObject")
Set MonRep=FSO.GetFolder(racine)
copyrecur(MonRep)
msgbox "Backup folder updated"
function copyrecur(rep) 'parcourt les reps et sous reps et copie le fichier suivant conditions (datelastmodified différente)
Set FSO = WScript.CreateObject("Scripting.FileSystemObject")
Set colfic = rep.Files
For Each fic In colfic
pficdest = ("P:" & (right(fic.path,len(fic.path)-2) )) 'lettre de lecteur à adapter
repdest = (left(pficdest, len(pficdest) - len(fic.name)))
if not FSO.FolderExists(repdest) then
FSO.CreateFolder(repdest)
end if
If FSO.FileExists(pficdest) then
Set ficdest= fso.GetFile(pficdest)
If not ficdest.datelastmodified = fic.datelastmodified then
FSO.CopyFile fic , repdest , OverwriteExisting
end if
else
FSO.CopyFile fic , repdest , OverwriteExisting
end if
next
for each subFolder in rep.SubFolders
pfolddest = ("P:" & (right(subFolder.path,len(subFolder.path)-2) ))
if not FSO.FolderExists(pfolddest) then
FSO.CreateFolder(pfolddest)
end if
copyrecur(subFolder)
next
end function
je vais jeter un oeil....