1. #1
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    avril 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Associations - ONG

    Informations forums :
    Inscription : avril 2014
    Messages : 7
    Points : 6
    Points
    6

    Par défaut Xcopy Vbs Date Variable

    Bonjour tous,

    Je tente de sauvegarder des fichiers d'un disque sur un autre à J-1 (c'est à dire tous les fichiers créés hier !)
    voici le script Vbs que j'ai écrit
    ligne 1 : la Variable x prend la date du jour et applique J-1
    ligne 2 : la variable x2 reformate la date en mm-jj-yyyy (pour pouvoir utiliser la commande Xcopy
    ligne 3 : Lancement de Xcopy avec l'option /d & la variable x2

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    X= DateAdd("d",-1,date())
    X2 = Month(x)& "-"& Day(x)& "-" & Year(x)
    Xcopy F:\DiskFichier\ e:\NewDisque\DiskFichier /E /C /H /d: & x2
    J'ai une erreur sur la ligne Xcopy que je n'arrive pas à résoudre. Si vous pouviez m'aider...

    Passez tous une bonne année.

    Merci

  2. #2
    Expert éminent sénior
    Avatar de JML19
    Homme Profil pro
    Retraité : Electrotechnicien Electronicien Informaticien de la SNCF
    Inscrit en
    décembre 2010
    Messages
    12 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Retraité : Electrotechnicien Electronicien Informaticien de la SNCF
    Secteur : Transports

    Informations forums :
    Inscription : décembre 2010
    Messages : 12 459
    Points : 19 239
    Points
    19 239
    Billets dans le blog
    10

    Par défaut

    Bonjour

    XCopy est un exécutable qui se trouve dans c:\windows\system32 peut être qu'il ne trouve pas l'exécutable si tu ne mets pas le chemin complet.

    Tu peux faire aussi en te positionnant avant à l'endroit où se trouve xcopy.exe
    Vous pouvez utiliser les FAQ (ICI) ou les Tutoriels (ICI) et aussi accéder au blog (ICI)

  3. #3
    Rédacteur/Modérateur
    Avatar de Andnotor
    Profil pro
    Inscrit en
    septembre 2008
    Messages
    4 579
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : septembre 2008
    Messages : 4 579
    Points : 9 526
    Points
    9 526

    Par défaut

    As-tu essayé d'ajouter le paramètre /s ?

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    avril 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Associations - ONG

    Informations forums :
    Inscription : avril 2014
    Messages : 7
    Points : 6
    Points
    6

    Par défaut

    Citation Envoyé par JML19 Voir le message
    Bonjour

    XCopy est un exécutable qui se trouve dans c:\windows\system32 peut être qu'il ne trouve pas l'exécutable si tu ne mets pas le chemin complet.

    Tu peux faire aussi en te positionnant avant à l'endroit où se trouve xcopy.exe
    merci de de vous intéresser à mon problème.

    J'ai l'habitude d'utiliser cet utilitaire et quand le lance manuellement la commande :
    Xcopy F:\DiskFichier e:\NewDisque\DiskFichier/E /C /H /d:06-23-2017
    L'action se déroule bien et les fichiers dont la date de création est supérieure au 23/06/2017 se copient bien de F: sur E:
    Je cherche juste à mettre l'option /d: avec une variable de date

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    avril 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Associations - ONG

    Informations forums :
    Inscription : avril 2014
    Messages : 7
    Points : 6
    Points
    6

    Par défaut

    Citation Envoyé par Andnotor Voir le message
    As-tu essayé d'ajouter le paramètre /s ?
    L'option /S Copie les répertoires et sous-répertoires à l'exception des répertoires vides.
    Je n'utilise pas cette option car je veux copier les répertoires vides.

    C'est vraiment le passage de la date calculée à j-1 que j'essaye de passer en paramètre à la commande Xcopy.

    Merci.

  6. #6
    Expert éminent sénior
    Avatar de JML19
    Homme Profil pro
    Retraité : Electrotechnicien Electronicien Informaticien de la SNCF
    Inscrit en
    décembre 2010
    Messages
    12 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Retraité : Electrotechnicien Electronicien Informaticien de la SNCF
    Secteur : Transports

    Informations forums :
    Inscription : décembre 2010
    Messages : 12 459
    Points : 19 239
    Points
    19 239
    Billets dans le blog
    10

    Par défaut

    Bonjour

    Lorsque tu lances xcopy.exe depuis la racine ou Windows il n'y a pas de problème pour le chemin.

    Mais lorsque tu utilises une application ce n'est pas la même chose, le Path Windows ne fonctionne pas.
    Vous pouvez utiliser les FAQ (ICI) ou les Tutoriels (ICI) et aussi accéder au blog (ICI)

  7. #7
    Rédacteur/Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    décembre 2004
    Messages
    4 439
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : décembre 2004
    Messages : 4 439
    Points : 9 438
    Points
    9 438

    Par défaut

    Salut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim objShell, X, X2, cmd
     
    Set objShell = CreateObject("WScript.Shell")
    X= DateAdd("d",-1,date())
    X2 = Month(x)& "-"& Day(x)& "-" & Year(x)
    cmd = "F:\DiskFichier\ e:\NewDisque\DiskFichier /E /C /H /d:" & X2
    Shell.Exec "Xcopy.exe " & cmd
    Set objShell = Nothing
    ProgElecT
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.

  8. #8
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    juin 2009
    Messages
    3 508
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : juin 2009
    Messages : 3 508
    Points : 8 445
    Points
    8 445

    Par défaut


    Il faut construire avant la commande Xcopy avec ses paramètres et l'afficher dans une MsgBox pour la "debugger"
    Voici ma méthode pour construire cette commande en tenant compte aussi des doubles quotes pour les chemins avec espaces
    Code Vbscript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    Option Explicit
    Dim X, X2,StrCmd,Source,Cible,Params,OnThisDate
    X= DateAdd("d",-1,date())
    OnThisDate = Month(x)& "-"& Day(x)& "-" & Year(x)
    Source = "F:\DiskFichier"
    Cible = "e:\NewDisque\DiskFichier"
    Params = " /E /C /H /d:" & OnThisDate
    StrCmd = "Xcopy " & DblQuote(Source) &" "& DblQuote(Cible) & Params
    'Afficher la commande dans Msgbox pour vérifier si la construction
    'de celle-ci est bonne ou non, si oui, on peut alors la supprimer du code
    msgbox StrCmd
    Call Execute(StrCmd)
    '********************************************************************
    Function Execute(StrCmd)
        Dim ws,MyCmd,Resultat
        Set ws = CreateObject("wscript.Shell")
            MyCmd = "CMD /C " & StrCmd & ""
            Resultat = ws.run(MyCmd,0,True)
            If Resultat <> 0 Then
                MsgBox "Une erreur inconnue est survenue !",16,_
                "Une erreur inconnue est survenue !"
            End If
        Execute = Resultat
    End Function
    '********************************************************************
    Function DblQuote(Str)
        DblQuote = Chr(34) & Str & Chr(34)
    End Function
    '********************************************************************

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    avril 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Associations - ONG

    Informations forums :
    Inscription : avril 2014
    Messages : 7
    Points : 6
    Points
    6

    Par défaut

    Bonjour à tous,

    La solution de ProgElecT fonctionne parfaitement.

    Merci à tous pour votre diligence à m'aider.

  10. #10
    Membre émérite

    Homme Profil pro
    Responsable déploiement (SCCM, AirWatch, AMP)
    Inscrit en
    juillet 2014
    Messages
    1 314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, AirWatch, AMP)
    Secteur : Transports

    Informations forums :
    Inscription : juillet 2014
    Messages : 1 314
    Points : 2 460
    Points
    2 460

    Par défaut

    xcopy direct dans un .vbs

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VBS]Tester variable d'environnement.
    Par Empty_body dans le forum VBScript
    Réponses: 1
    Dernier message: 19/11/2007, 09h19
  2. Date variable dans SQL server 2005 anglais
    Par denisr dans le forum MS SQL-Server
    Réponses: 1
    Dernier message: 15/06/2007, 11h19
  3. [Dates] Variable persistante à arrêter!
    Par godjojo dans le forum Fonctions
    Réponses: 7
    Dernier message: 20/05/2007, 19h12
  4. Checker un service en VBS avec variable
    Par balthior dans le forum VBScript
    Réponses: 8
    Dernier message: 08/12/2006, 15h14
  5. Réponses: 4
    Dernier message: 26/07/2006, 14h29

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