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 :

Xcopy Vbs Date Variable


Sujet :

VBScript

  1. #1
    Membre régulier
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    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
    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
    Avatar de JML19
    Homme Profil pro
    Retraité : Electrotechnicien Electronicien Informaticien de la SNCF
    Inscrit en
    Décembre 2010
    Messages
    15 194
    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 : 15 194
    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
    Inscrit en
    Septembre 2008
    Messages
    5 929
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 929
    Par défaut
    As-tu essayé d'ajouter le paramètre /s ?

  4. #4
    Membre régulier
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    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
    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
    Membre régulier
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    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
    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
    Avatar de JML19
    Homme Profil pro
    Retraité : Electrotechnicien Electronicien Informaticien de la SNCF
    Inscrit en
    Décembre 2010
    Messages
    15 194
    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 : 15 194
    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
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 130
    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
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  8. #8
    Expert confirmé
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 844
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 844
    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
    Membre régulier
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    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
    Par défaut
    Bonjour à tous,

    La solution de ProgElecT fonctionne parfaitement.

    Merci à tous pour votre diligence à m'aider.

  10. #10
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    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 Langage
    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