J'aimerais en vbs copier un fichier à intervalle régulier vers un autre
répertoire en le renommant à chaque fois différemment pour éviter d'écraser
la copie précédente, afin d'avoir uen liste de fichiers de sauvegarde et non
1 seul fichier de sauvegarde.
J'aimerais en vbs copier un fichier à intervalle régulier vers un autre répertoire en le renommant à chaque fois différemment pour éviter d'écraser la copie précédente, afin d'avoir uen liste de fichiers de sauvegarde et non 1 seul fichier de sauvegarde.
Quelqu'un peut m'aider?? Merci d'avance
Quelque chose come ça ?
Option Explicit Dim pause ' Temps de pause entre deux copies (en secondes) Dim strSourceFile ' Chemin complet du fichier source Dim strDestRep ' Chemin complet du repertoire destination (fini par un "/") pause = 60 ' 1 minute strSourceFile = "c:ftp.txt" strDestRep = "D:test"
'Pas besoin d'editer ci-dessous
Function PauseScript() WScript.Sleep pause * 1000 Call Copy() End Function
Function Copy() Dim fso Set fso = WScript.CreateObject("Scripting.FileSystemObject") If fso.FileExists(strSourceFile) Then Dim f, strFileName, strStartName, strExtension, intPosExt Set f = fso.GetFile(strSourceFile) strFileName = f.Name intPosExt = InStrRev(strFileName, ".") strStartName = Left(strFileName, intPosExt-1) strExtension = Right(strFileName, Len(strFileName) - intPosExt+1) strFileName = strDestRep & strStartName & "_" & GenerateNewName & strExtension fso.CopyFile strSourceFile, strFileName Set f = Nothing End If Set fso = Nothing Call PauseScript() End Function
Call Copy()
Luc Grangier wrote:
Bonjour,
J'aimerais en vbs copier un fichier à intervalle régulier vers un
autre répertoire en le renommant à chaque fois différemment pour
éviter d'écraser la copie précédente, afin d'avoir uen liste de
fichiers de sauvegarde et non 1 seul fichier de sauvegarde.
Quelqu'un peut m'aider??
Merci d'avance
Quelque chose come ça ?
Option Explicit
Dim pause ' Temps de pause entre deux copies (en secondes)
Dim strSourceFile ' Chemin complet du fichier source
Dim strDestRep ' Chemin complet du repertoire destination (fini par un "/")
pause = 60 ' 1 minute
strSourceFile = "c:ftp.txt"
strDestRep = "D:test"
'Pas besoin d'editer ci-dessous
Function PauseScript()
WScript.Sleep pause * 1000
Call Copy()
End Function
Function Copy()
Dim fso
Set fso = WScript.CreateObject("Scripting.FileSystemObject")
If fso.FileExists(strSourceFile) Then
Dim f, strFileName, strStartName, strExtension, intPosExt
Set f = fso.GetFile(strSourceFile)
strFileName = f.Name
intPosExt = InStrRev(strFileName, ".")
strStartName = Left(strFileName, intPosExt-1)
strExtension = Right(strFileName, Len(strFileName) - intPosExt+1)
strFileName = strDestRep & strStartName & "_" & GenerateNewName &
strExtension
fso.CopyFile strSourceFile, strFileName
Set f = Nothing
End If
Set fso = Nothing
Call PauseScript()
End Function
J'aimerais en vbs copier un fichier à intervalle régulier vers un autre répertoire en le renommant à chaque fois différemment pour éviter d'écraser la copie précédente, afin d'avoir uen liste de fichiers de sauvegarde et non 1 seul fichier de sauvegarde.
Quelqu'un peut m'aider?? Merci d'avance
Quelque chose come ça ?
Option Explicit Dim pause ' Temps de pause entre deux copies (en secondes) Dim strSourceFile ' Chemin complet du fichier source Dim strDestRep ' Chemin complet du repertoire destination (fini par un "/") pause = 60 ' 1 minute strSourceFile = "c:ftp.txt" strDestRep = "D:test"
'Pas besoin d'editer ci-dessous
Function PauseScript() WScript.Sleep pause * 1000 Call Copy() End Function
Function Copy() Dim fso Set fso = WScript.CreateObject("Scripting.FileSystemObject") If fso.FileExists(strSourceFile) Then Dim f, strFileName, strStartName, strExtension, intPosExt Set f = fso.GetFile(strSourceFile) strFileName = f.Name intPosExt = InStrRev(strFileName, ".") strStartName = Left(strFileName, intPosExt-1) strExtension = Right(strFileName, Len(strFileName) - intPosExt+1) strFileName = strDestRep & strStartName & "_" & GenerateNewName & strExtension fso.CopyFile strSourceFile, strFileName Set f = Nothing End If Set fso = Nothing Call PauseScript() End Function
Call Copy()
Jacques Barathon [MS]
"Luc Grangier" wrote in message news:
Bonjour,
J'aimerais en vbs copier un fichier à intervalle régulier vers un autre répertoire en le renommant à chaque fois différemment pour éviter d'écraser la copie précédente, afin d'avoir uen liste de fichiers de sauvegarde et non 1 seul fichier de sauvegarde.
Quelqu'un peut m'aider?? Merci d'avance
Allez, pour le plaisir, une version PowerShell:
--- couper ici --- # copy-file.ps1 # # copie un même fichier à intervalles réguliers # en lui donnant la date et l'heure pour nouveau nom # # paramètres: # # source - chemin complet vers le fichier à copier # destination - répertoire de destination # interval - intervalle entre 2 copies (en secondes)
param ( [string]$source = $(throw "Et le fichier source?"), [string]$destination = $(throw "Et la destination?"), [int32]$interval = $(throw "Et l'intervalle en s.??") )
... crèe une copie le fichier critique dans c:backups toutes les heures.
La boucle est infinie, il faut taper CTRL+C pour l'interrompre. Une technique plus propre consistera à planifier la tâche de copie avec le Planificateur de Tâches de Windows (panneau de config Tâches Planifiées, ou schtasks.exe pour une meilleure granularité dans la planification). Dans ce cas, il faudra supprimer la boucle do {} while ($true) ainsi que tout ce qui fait référence à $interval.
Jacques Jacques
"Luc Grangier" <LucGrangier@discussions.microsoft.com> wrote in message
news:68522D09-6F43-4752-97EE-DE33C0E79BA9@microsoft.com...
Bonjour,
J'aimerais en vbs copier un fichier à intervalle régulier vers un autre
répertoire en le renommant à chaque fois différemment pour éviter
d'écraser
la copie précédente, afin d'avoir uen liste de fichiers de sauvegarde et
non
1 seul fichier de sauvegarde.
Quelqu'un peut m'aider??
Merci d'avance
Allez, pour le plaisir, une version PowerShell:
--- couper ici ---
# copy-file.ps1
#
# copie un même fichier à intervalles réguliers
# en lui donnant la date et l'heure pour nouveau nom
#
# paramètres:
#
# source - chemin complet vers le fichier à copier
# destination - répertoire de destination
# interval - intervalle entre 2 copies (en secondes)
param (
[string]$source = $(throw "Et le fichier source?"),
[string]$destination = $(throw "Et la destination?"),
[int32]$interval = $(throw "Et l'intervalle en s.??")
)
... crèe une copie le fichier critique dans c:backups toutes les heures.
La boucle est infinie, il faut taper CTRL+C pour l'interrompre. Une
technique plus propre consistera à planifier la tâche de copie avec le
Planificateur de Tâches de Windows (panneau de config Tâches Planifiées, ou
schtasks.exe pour une meilleure granularité dans la planification). Dans ce
cas, il faudra supprimer la boucle do {} while ($true) ainsi que tout ce qui
fait référence à $interval.
J'aimerais en vbs copier un fichier à intervalle régulier vers un autre répertoire en le renommant à chaque fois différemment pour éviter d'écraser la copie précédente, afin d'avoir uen liste de fichiers de sauvegarde et non 1 seul fichier de sauvegarde.
Quelqu'un peut m'aider?? Merci d'avance
Allez, pour le plaisir, une version PowerShell:
--- couper ici --- # copy-file.ps1 # # copie un même fichier à intervalles réguliers # en lui donnant la date et l'heure pour nouveau nom # # paramètres: # # source - chemin complet vers le fichier à copier # destination - répertoire de destination # interval - intervalle entre 2 copies (en secondes)
param ( [string]$source = $(throw "Et le fichier source?"), [string]$destination = $(throw "Et la destination?"), [int32]$interval = $(throw "Et l'intervalle en s.??") )
... crèe une copie le fichier critique dans c:backups toutes les heures.
La boucle est infinie, il faut taper CTRL+C pour l'interrompre. Une technique plus propre consistera à planifier la tâche de copie avec le Planificateur de Tâches de Windows (panneau de config Tâches Planifiées, ou schtasks.exe pour une meilleure granularité dans la planification). Dans ce cas, il faudra supprimer la boucle do {} while ($true) ainsi que tout ce qui fait référence à $interval.
Jacques Jacques
Jacques Barathon [MS]
"Jacques Barathon [MS]" wrote in message news: <snip>
... crèe une copie le fichier critique dans c:backups toutes les heures.
Ok, on dit "une copie DU fichier", mais vous aurez corrigé...
<snip>
Jacques Jacques
Non, nous ne nous y mettons pas à deux pour écrire de tels scripts! C'est juste le jus de fruit non pasteurisé du matin qui m'a filé le hoquet. :-)
Jacques
"Jacques Barathon [MS]" <jbaratho@online.microsoft.com> wrote in message
news:u6DEHVJgGHA.4932@TK2MSFTNGP03.phx.gbl...
<snip>
... crèe une copie le fichier critique dans c:backups toutes les heures.
Ok, on dit "une copie DU fichier", mais vous aurez corrigé...
<snip>
Jacques
Jacques
Non, nous ne nous y mettons pas à deux pour écrire de tels scripts! C'est
juste le jus de fruit non pasteurisé du matin qui m'a filé le hoquet. :-)
J'aimerais en vbs copier un fichier à intervalle régulier vers un autre répertoire en le renommant à chaque fois différemment pour éviter d'écraser la copie précédente, afin d'avoir uen liste de fichiers de sauvegarde et non 1 seul fichier de sauvegarde.
Quelqu'un peut m'aider?? Merci d'avance
Quelque chose come ça ?
Option Explicit Dim pause ' Temps de pause entre deux copies (en secondes) Dim strSourceFile ' Chemin complet du fichier source Dim strDestRep ' Chemin complet du repertoire destination (fini par un "/") pause = 60 ' 1 minute strSourceFile = "c:ftp.txt" strDestRep = "D:test"
'Pas besoin d'editer ci-dessous
Function PauseScript() WScript.Sleep pause * 1000 Call Copy() End Function
Function Copy() Dim fso Set fso = WScript.CreateObject("Scripting.FileSystemObject") If fso.FileExists(strSourceFile) Then Dim f, strFileName, strStartName, strExtension, intPosExt Set f = fso.GetFile(strSourceFile) strFileName = f.Name intPosExt = InStrRev(strFileName, ".") strStartName = Left(strFileName, intPosExt-1) strExtension = Right(strFileName, Len(strFileName) - intPosExt+1) strFileName = strDestRep & strStartName & "_" & GenerateNewName & strExtension fso.CopyFile strSourceFile, strFileName Set f = Nothing End If Set fso = Nothing Call PauseScript() End Function
Call Copy()
Hello tous,
Merci pour le code ça marche à merveille
Luc Grangier wrote:
Bonjour,
J'aimerais en vbs copier un fichier à intervalle régulier vers un
autre répertoire en le renommant à chaque fois différemment pour
éviter d'écraser la copie précédente, afin d'avoir uen liste de
fichiers de sauvegarde et non 1 seul fichier de sauvegarde.
Quelqu'un peut m'aider??
Merci d'avance
Quelque chose come ça ?
Option Explicit
Dim pause ' Temps de pause entre deux copies (en secondes)
Dim strSourceFile ' Chemin complet du fichier source
Dim strDestRep ' Chemin complet du repertoire destination (fini par un "/")
pause = 60 ' 1 minute
strSourceFile = "c:ftp.txt"
strDestRep = "D:test"
'Pas besoin d'editer ci-dessous
Function PauseScript()
WScript.Sleep pause * 1000
Call Copy()
End Function
Function Copy()
Dim fso
Set fso = WScript.CreateObject("Scripting.FileSystemObject")
If fso.FileExists(strSourceFile) Then
Dim f, strFileName, strStartName, strExtension, intPosExt
Set f = fso.GetFile(strSourceFile)
strFileName = f.Name
intPosExt = InStrRev(strFileName, ".")
strStartName = Left(strFileName, intPosExt-1)
strExtension = Right(strFileName, Len(strFileName) - intPosExt+1)
strFileName = strDestRep & strStartName & "_" & GenerateNewName &
strExtension
fso.CopyFile strSourceFile, strFileName
Set f = Nothing
End If
Set fso = Nothing
Call PauseScript()
End Function
J'aimerais en vbs copier un fichier à intervalle régulier vers un autre répertoire en le renommant à chaque fois différemment pour éviter d'écraser la copie précédente, afin d'avoir uen liste de fichiers de sauvegarde et non 1 seul fichier de sauvegarde.
Quelqu'un peut m'aider?? Merci d'avance
Quelque chose come ça ?
Option Explicit Dim pause ' Temps de pause entre deux copies (en secondes) Dim strSourceFile ' Chemin complet du fichier source Dim strDestRep ' Chemin complet du repertoire destination (fini par un "/") pause = 60 ' 1 minute strSourceFile = "c:ftp.txt" strDestRep = "D:test"
'Pas besoin d'editer ci-dessous
Function PauseScript() WScript.Sleep pause * 1000 Call Copy() End Function
Function Copy() Dim fso Set fso = WScript.CreateObject("Scripting.FileSystemObject") If fso.FileExists(strSourceFile) Then Dim f, strFileName, strStartName, strExtension, intPosExt Set f = fso.GetFile(strSourceFile) strFileName = f.Name intPosExt = InStrRev(strFileName, ".") strStartName = Left(strFileName, intPosExt-1) strExtension = Right(strFileName, Len(strFileName) - intPosExt+1) strFileName = strDestRep & strStartName & "_" & GenerateNewName & strExtension fso.CopyFile strSourceFile, strFileName Set f = Nothing End If Set fso = Nothing Call PauseScript() End Function