IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

Copie de fichiers avancée


Sujet :

VBScript

  1. #21
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Le nom des fichiers s'écrit dans la sortie standard.
    SI tu lance avec une console dans la console.
    colFiles représentent la liste et le foreach la parcours.
    Et cela affiche par un echo le nom de chaque fichiers.
    Tu peux mettre msgbox à la place, mais alors cela t'ouvriras autant de msgbox qu'il y a de fichiers.

  2. #22
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    ok, merci encore

    Mais je ne voi pas le chemin du répertoire contenant les fichiers a copier dans le script:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Const OverwriteExisting = True
    strComputer = "."
     
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objWMIService = GetObject("winmgmts:" _
        & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    Set colFiles = objWMIService. _
        ExecQuery("Select * from CIM_DataFile where Path = '\\Scripts\\'")
     
    For Each objFile in colFiles
        Wscript.Echo objFile.Name
        objFSO.CopyFile objFile.Name , "D:\Archive\", OverwriteExisting
    Next

  3. #23
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    J'avais un doute je ne savais plus si cela renvoyer le chemin complet ou juste le nom.
    Essaye avec :
    Si tu n'obtiens que le chemin complet sans le nom de fichier fait ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    objFile.Path & "\" & objFile.FileName & "." & objFile.Extension

  4. #24
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    oui, mais ou est le chemin du répertoire qui contien les fichiers à lister ?

  5. #25
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    De plus quand j'exécute le script il ne se passe rien, je ne peut pas savoir s'il y a les chemins complet

  6. #26
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ExecQuery("Select * from CIM_DataFile where Path = '\\Ton_repertoire\\'")

  7. #27
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    le script ne fait toujours rien

  8. #28
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    il me renvoie une erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Const OverwriteExisting = True
    strComputer = "."
     
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objWMIService = GetObject("winmgmts:" _
        & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    Set colFiles = objWMIService. _
        ExecQuery("Select * from CIM_DataFile where Path = '\\C:\Documents and Settings\Kookatix\Bureau\Nouveau dossier\\'")
     
    For Each objFile in colFiles
        Wscript.Echo objFile.Name
        objFSO.CopyFile objFile.Name , "C:\Documents and Settings\Kookatix\Bureau\Nouveau dossier2\", OverwriteExisting
    Next

  9. #29
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    cela fonctionne sans mettre de lettre de disque dur (d'ailleurs cela plante avec) et je crois que tu dois doubler tous les \\

  10. #30
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    Mais si je veut copier les fichiers d'un répertoire qui ne se trouve pas sur le même disque que le script, c'est pas possible ?

  11. #31
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Citation Envoyé par koKoTis Voir le message
    Mais si je veut copier les fichiers d'un répertoire qui ne se trouve pas sur le même disque que le script, c'est pas possible ?
    Normalement le script cherche sur tous les disques pour chercher le chemin ecrit.

    Donc si tu execute sur c: le script, et que tu lui mets en chemin "\\toto\\tata\\titi" (sur d: ) cela devrait marcher.

  12. #32
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    OK, merci encore

    Donc maitenant le script m'ouvre une première fenêtre avec le nom du premier fichier, puis me renvoie une erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Const OverwriteExisting = True
    strComputer = "."
     
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objWMIService = GetObject("winmgmts:" _
        & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    Set colFiles = objWMIService. _
        ExecQuery("Select * from CIM_DataFile where Path = '\\Documents and Settings\\Kookatix\\Bureau\\Nouveau dossier\\'")
     
    For Each objFile in colFiles
        Wscript.Echo objFile.Name
        objFSO.CopyFile objFile.Name , "C:\Documents and Settings\Kookatix\Bureau\Nouveau dossier2\", OverwriteExisting
    Next

  13. #33
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Heu sans l'erreur je ne vais pas pouvoir t'aider

  14. #34
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut

  15. #35
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Comme je te l'ai dit plus haut essaye avec objFile.Path, je crois que Name ne renvois que le nom du fichier.
    Je pense qu'il faut que tu fasses plutot :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    objFile.Path & "\" & objFile.FileName & "." & objFile.Extension

  16. #36
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Bon en fait name renvois le chemin complet. Pour voir la différence, essaye avec ce script et créer un repertoire temp où tu met 2 - 3 fichiers :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    Set colFiles = objWMIService.ExecQuery("Select * from CIM_DataFile where Path = '\\temp\\'")
    For Each objFile in colFiles
        Wscript.Echo "Name = " & objFile.Name
    Wscript.Echo "Path = " & objFile.Path
    Wscript.Echo "Extension = " & objFile.Extension 
    Next
    L'eereur te dit que l'erreur se trouve à la ligne 12 mais c'est quoi la ligne 12 dans ton script (ce que tu as poster contient moins de 12 lignes)
    Donc soit poste la ligne, soit poste tout le script que je voye où cela bloque.

Discussions similaires

  1. Fonction de copie de fichier avancée
    Par Sub0 dans le forum Codes sources à télécharger
    Réponses: 0
    Dernier message: 31/01/2013, 22h26
  2. Question d'un débutant / copie fichiers avancé
    Par booleanf dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 21/08/2009, 15h32
  3. [C#] Copie de fichier via l'API
    Par slyv dans le forum Windows Forms
    Réponses: 5
    Dernier message: 20/12/2004, 22h39
  4. [Kylix] Copie de fichier...
    Par paty.olivier dans le forum EDI
    Réponses: 1
    Dernier message: 23/06/2004, 12h55
  5. Copie de fichier
    Par Bjorn dans le forum C
    Réponses: 4
    Dernier message: 11/06/2002, 15h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo