Copy folder

Résolu
McDEV04 Messages postés 42 Date d'inscription vendredi 24 août 2007 Statut Membre Dernière intervention 1 octobre 2007 - 19 sept. 2007 à 06:27
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 - 21 sept. 2007 à 08:20
                                              Bonjour

je vous poste ça, au cas ou vous auriez trouvé les erreurs avant moi
Le but du script :
    1°  Il verifie  si il existe un sous dossier dans  le repertoir transfert
    2° Si oui il fait une copie dans un repertoire sur un serveur distant via le lecteur reseau x
    3° Et il déplace l'original dans archive

Je pense que l'erreur est bête mais  je la voit  pas  (peut être la fatigue)

L'erreur est : type incompatible 'folderexist
Code 800A000d
Caract : 1
j'en suis sur qu'il y en a d'autre, n'hésiter pas
SVP help et aprés j'aurais finis mon projet  

                                                 Thank you Beaucoup

-------------------------------------------------------------------------------
 Option Explicit
 On Error Resume
 
Dim strLocalName, strRemoteName, strUser, strPassword
Dim FolderSrce 'Repertoire source
Dim FolderDest 'Repertoire de destination
Dim FolderArch 'Repertoire des Archives 
Dim Fso

FolderDest = " x:"
FolderSrce = "c:\:ASR\Outils\CTRLAD_v0.1\archive\Transfert"
FolderArch = "c:\ASR\Outils\CTRLAD_v0.1\Archive"
strUser = ("toto")
strPassword = ("tata")

Set Fso = CreateObject("Scripting.filesystemObject")
Set WSHNetwork = WScript.CreateObject("WScript.Network")

    'connection au lecteur réseau du serveur à atteindre
WSHNetwork.MapNetworkDrive "x:","\\192.168.106.10\c$\ASR\Outils\Outils\CTRLAD_v0.1\DomainLog",True, strUser, strPassword

      ' Si le dossier contient quelque chose, ici un dossier dont on ne connait pas le nom à l'interieur de         transfert
        'il copie folderSrce sur le lecteur reseau (FolderDest) et
        'il déplace FolderSrce dans FolderArch 
If  folderexist (FolderSrce) Then
    Fso.CopyFolder FolderSrce , FolderDest ,, True
    Fso.MoveFolder FolderSrce , FolderArch ,, True
End If

    'Déconnecté le lecteur x:
WSHNetwork.RemoveNetworkDrive ( x : )

WScript.quit (0)

------------------------------------------------------------------------------

10 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
19 sept. 2007 à 07:41
Salut,
Ou est la fonction folderexist ???? Attends elle bien une chaine de caractere (meme si en VBS il n'y pas de typage, on se doute bien de ce qu'attends une fonction)

@+: Ju£i?n
Pensez: Réponse acceptée
3
McDEV04 Messages postés 42 Date d'inscription vendredi 24 août 2007 Statut Membre Dernière intervention 1 octobre 2007
19 sept. 2007 à 23:07
Merci Merci
j'avais pas fait attention

mais je vien de me rendre compte que le résultat que je vais obtenir, n'est pas ce que je voulais réellement.
Car ce script va copier et déplacer  le repertoire transfert
et moi ce que je veut c'est qu'il regarde à l'interieur du repertoire transfert et qu'il renvoie tous ce qu'il contient
Bon je recommence tout  et je reviens

Merci quand même d'avoir pris le temps de me répondre
0
McDEV04 Messages postés 42 Date d'inscription vendredi 24 août 2007 Statut Membre Dernière intervention 1 octobre 2007
19 sept. 2007 à 23:43
Me re-voici Me-revoilà

Avec toujour un script et ces erreurs
Il detecte bien l'existance d'un sous repertoire mais il ne veut pas le déplacer
Bon j'y retourne à taleur

Dim stRep 'Nom du répertoire à parcourir
Dim oFSO,oFld
Set oFSO = CreateObject("Scripting.FileSystemObject")
stRep = "C:\ASR\Outils\CTRLAD_v0.1 ENFANT\Archive\Transfert"
If oFSO.FolderExists(stRep) Then
 For each oFld in  oFSO.GetFolder(stRep).SubFolders
   Wscript.Echo oFld.Name    
   oFso.MoveFolder(ofld),("C:\ASR\Outils\CTRLAD_v0.1 ENFANT\Archive")
 Next
End If
0
McDEV04 Messages postés 42 Date d'inscription vendredi 24 août 2007 Statut Membre Dernière intervention 1 octobre 2007
19 sept. 2007 à 23:48
Il me dit que ce fichier existe dejà
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
McDEV04 Messages postés 42 Date d'inscription vendredi 24 août 2007 Statut Membre Dernière intervention 1 octobre 2007
20 sept. 2007 à 00:39
Pfoaaaa Ben toujour pas trouvé, help me please
ou si vous avez un solution
je ve juste que le script verifie si un sous dossier existe si oui qu'il le déplace
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
20 sept. 2007 à 06:46
 Bonjour à tous,

Dim objFso, strPathLocal, strPathSauve
strPathLocal = "D:\SCRIPTS\Fichiers\Test"
strPathSauve = "D:\SCRIPTS\Fichiers\Sauve"

Set objFso = CreateObject("Scripting.FileSystemObject")
'Si le répertoire strPathsauve n'existe pas, on le créé
If Not objFso.FolderExists(strPathSauve) Then objFso.CreateFolder(strPathSauve)
'Si le répertoire strPathLocal existe, on déplace tous les fichiers de ce répertoire
'vers le répertoire strPathSauve
If objFso.FolderExists(strPathLocal) Then objFso.MoveFile strPathLocal & "*.*", strPathSauve

Pour le MoveFile, tu peux utiliser les syntaxes:
objFso.MoveFile strPathLocal & "*", strPathSauve
objFso.MoveFile strPathLocal & "*.*", strPathSauve
objFso.MoveFile strPathLocal & "*.txt", strPathSauve

jean-marc
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
20 sept. 2007 à 07:02
Re,

Si les fichiers existent, il faut utiliser copyfile et deletefile.

Set objFso = CreateObject("Scripting.FileSystemObject")
If Not objFso.FolderExists(strPathSauve) Then objFso.CreateFolder(strPathSauve)
If objFso.FolderExists(strPathLocal) Then
    objFso.CopyFile strPathLocal & "*", strPathSauve, True
    objFso.DeleteFile strPathLocal & "*.*", True
End if

jean-marc
0
lolokun Messages postés 1241 Date d'inscription mardi 10 octobre 2006 Statut Membre Dernière intervention 27 août 2013 7
20 sept. 2007 à 09:32
Salut,

Dim stRep 'Nom du répertoire à parcourir
Dim oFSO,oFld
Set oFSO = CreateObject("Scripting.FileSystemObject")
stRep = "C:\ASR\Outils\CTRLAD_v0.1 ENFANT\Archive\Transfert"
If oFSO.FolderExists(stRep) Then
 For each oFld in  oFSO.GetFolder(stRep).SubFolders
   Wscript.Echo oFld.Name    
   oFso.MoveFolder ofld,"C:\ASR\Outils\CTRLAD_v0.1 ENFANT\Archive" 
 Next
End If

C'est un dossier donc n'oublie le "" à la fin :)
0
McDEV04 Messages postés 42 Date d'inscription vendredi 24 août 2007 Statut Membre Dernière intervention 1 octobre 2007
21 sept. 2007 à 04:36
Je vous remercie à tous !!!!!
Comme j'ai pas voulu attendre des réponses, j'ai continuer à chercher de mon coté et entre temps j'ai trouvé une autre solution. je  gardes quand même votre solution bien au chaud au cas ou.. et puis sa va peut être aider d'autres personnes.
 je re-remercie tous ceux qui ont bien pris le temps de me répondre
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
21 sept. 2007 à 08:20
Salut,
Et si tu partageais la solution trouvé??? après tout le partage doit fonctionner dans les deux sens. Il faut tuoujours penser que d'autre pourront avoir le meme souci que toi et je pense qu'il serait content de trouver ta solution seul dans le forum.

@+: Ju£i?n
Pensez: Réponse acceptée
0
Rejoignez-nous