cs_Patrin
Messages postés16Date d'inscriptionjeudi 14 septembre 2006StatutMembreDernière intervention 8 décembre 2006
-
19 sept. 2006 à 10:10
neo2k2
Messages postés126Date d'inscriptionjeudi 16 janvier 2003StatutMembreDernière intervention 9 novembre 2009
-
3 sept. 2008 à 15:00
Bonjour, j'ai besoin de faire un script qui:
-Vérifie l'existance d'un répertoire.
-Si il existe, comparer la date d'un fichier et écraser si la date est inférieure.
J'ai réussi la deuxième partie. Le seul problème c'est que si le répertoire n'existe pas j'ai un message d'erreur. Si il n'existe pas j'aimerais ne pas vérifier la date du fichier.
Code:
Const OverwriteExisting = TRUE
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objLocalFile = objFSO.GetFile("C:\test\test.txt")
dtmLocalDate = objLocalFile.DateLastModified
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 19 sept. 2006 à 11:25
Salut,
Regarde ce que tu as mis: DossierServeur = "[file://source/test/test.txt \\]source\test\test.txt"
Et regarde ce que je te proposais: DossierServeur = "\\Serveur\Source"
L'idee c'est que DossierServeur contienne le nom d'un répertoire. toi tu lui mets le nom d'un FICHIER
cs_Patrin
Messages postés16Date d'inscriptionjeudi 14 septembre 2006StatutMembreDernière intervention 8 décembre 2006 19 sept. 2006 à 10:34
En fait, si le répertoire n'existe pas, je ne veux pas de message. Si le répertoire n'est pas là "exit". Je suis un gars de réseau donc le vbscript est pour moi du chinois :) Est-ce que vous pouvez corriger mon code SVP?
Const OverwriteExisting = TRUE
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objLocalFile = objFSO.GetFile("C:\test\test.txt")
dtmLocalDate = objLocalFile.DateLastModified
Set objServerFile = objFSO.GetFile(
[file://\\serveur\source\test.txt
\\serveur\source\test.txt
drikce06
Messages postés2236Date d'inscriptionlundi 29 mai 2006StatutMembreDernière intervention29 mai 200810 19 sept. 2006 à 10:45
Const OverwriteExisting = TRUE
Set objFSO = CreateObject("Scripting.FileSystemObject")
If objFSO.FolderExists("C:\test\test.txt")=True Then
Set objLocalFile = objFSO.GetFile("C:\test\test.txt")
dtmLocalDate = objLocalFile.DateLastModified
Set objServerFile = objFSO.GetFile(
[file://serveur/source/test.txt
\\serveur\source\test.txt
Utilise la fonction .FolderExists ne ton FileSystemObject
LE seul truc c'est qu il faut que le nom du fichier et le nom du répertoire soient dans des variables séparer
Soit: (pas teste)
Dim DossierServeur
Dim Fichier
Dim DossierLocal
Const OverwriteExisting = True
Set objFSO = CreateObject ("Scripting.FileSystemObject")
Fichier = "Test.txt"
DossierLocal = "C:\test"
DossierServeur = "\\Serveur\Source"
If objFSO.FolderExists(DossierServeur) And objFSO.FolderExists(DossierLocal) Then
Set objLocalFile = objFSO.GetFile(DossierLocal & Fichier)
dtmLocalDate = objLocalFile.DateLastModified
Set objServerFile = objFSO.GetFile(DossierServeur & Fichier)
dtmServerDate = objServerFile.DateLastModified
If dtmLocalDate < dtmServerDate Then
objFSO.CopyFile objServerFile.Path, objLocalFile.Path, OverwriteExisting
End If
End If
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 19 sept. 2006 à 10:47
If objFSO.FolderExists("C:\test\test.txt")=True Then
pas possible, test.txt ressemble a un fichier, et non a un dossier.
FolderExists ne fonctionnera surement pas, en ce cas... utilises alors la méthode FileExists
cs_Patrin
Messages postés16Date d'inscriptionjeudi 14 septembre 2006StatutMembreDernière intervention 8 décembre 2006 19 sept. 2006 à 11:17
Déjà, ça me semble un code plus logique que ce que j'avais fait :) Mais le problème c'est qu'il ne remplace pas le fichier... Mais il ne me retourne pas d'erreur. Merci pour l'aide!!! :)
source\test\test.txt"
If objFSO.FolderExists(DossierServeur) And objFSO.FolderExists(DossierLocal) Then
Set objLocalFile = objFSO.GetFile(DossierLocal & Fichier)
dtmLocalDate = objLocalFile.DateLastModified
Set objServerFile = objFSO.GetFile(DossierServeur & Fichier)
dtmServerDate = objServerFile.DateLastModified
If dtmLocalDate < dtmServerDate Then
objFSO.CopyFile objServerFile.Path, objLocalFile.Path, OverwriteExisting
End If
End If
neo2k2
Messages postés126Date d'inscriptionjeudi 16 janvier 2003StatutMembreDernière intervention 9 novembre 20093 3 sept. 2008 à 15:00
Un up 2 ans après qui marche en VBS et VB6:
Dim stPath ' Nom du chemin d'acces au dossier
Dim stFolder 'Nom du dossier
Dim oFSO,oFl
Dim Ans1, Ans2
stPath = "C:"
stFolder = "mon_dossier"
Set oFSO = CreateObject("Scripting.FileSystemObject")
' si le dossier n'existe pas, on le crée
If Not oFSO.FolderExists(stPath & stFName) Then
'Crée le repertoire
Set oFld=oFSO.CreateFolder (stPath & stFName)
'Else ' sinon on fait autre chose
' MsgBox "Le répertoire " & stPath & stFName & " existe."
End If