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

Windows 7 Discussion :

Planification de tâche Windows


Sujet :

Windows 7

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2017
    Messages : 23
    Points : 11
    Points
    11
    Par défaut Planification de tâche Windows
    Hello à tous,

    Déjà merci d'avance de l'aide que vous pourrez me donner !

    Alors, voilà j'aimerai faire la chose suivante, mais je ne me suis jamais servi du planificateur de tâches, c'est d'ailleurs peut-être pas la bonne piste, éclairez-moi

    Tous les lundis à 07H00 :
    Supprimer un fichier nommé "x" d’un dossier "A"
    Copier le fichier le plus récent du dossier "B"
    Coller dans le dossier A et nommer "x"

    Pour info : mes fichiers sont des fichiers Excel.

    Merci d'avance de votre aide !

  2. #2
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 719
    Points : 43 820
    Points
    43 820
    Par défaut
    Tu peux le faire avec un script .bat que tu appeles depuis le planificateur.

    Essayes de toi-même et reviens vers nous en cas de difficultés.

  3. #3
    Membre actif
    Homme Profil pro
    Responsable déploiement systèmes
    Inscrit en
    Juin 2015
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement systèmes
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2015
    Messages : 120
    Points : 246
    Points
    246
    Par défaut
    Si le nom du fichier source fluctue, ça peut poser certains problèmes :

    > Il faut déjà écrire "la mécanique" qui choisira le fichier le plus récent d'une arborescence, tout en filtrant sur l'extension voulue (XLS ou XLSX)
    > Copier le fichier trouvé en le renommant et forcer l'écrasement du fichier cible

    Même si ça peut se faire en script comme le propose @chrtophe, mal contrôlé ça peut faire n'importe quoi (par exemple, copier un "thumbs.db et le renommer "toto.xls" > trop cool !)

    Si le nom du fichier source et cible est le même, un logiciel de copie / synchronisation gratuit (du genre SyncBackFree ou Cobian - qui plus est en versionnant) fera très bien le job et à l'heure que tu veux !

    > Sinon par script et si c'est possible, je m'arrangerais pour que source et cible ait le même nom et une simple commande de copie fera le reste

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2017
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    Hello Steph78630,

    Merci de ton aide. Je ne vous cache pas que je n'ai pas trop avancé, car je n'y connais rien en écriture de script !

    Pour ce que tu dis, oui les fichiers changent de noms (PLANNING_WEEK15 puis PLANNING_WEEK16 etc.), en revanche, il n'y aura que eux dans mon dossier donc en prenant le fichier le plus récent de mon dossier je suis sur d'avoir bon, donc pas besoin de filtrer l'extension.

    Et le fichier destination doit avoir un nom bien précis car je fais appel à lui pour des requêtes.

    Ceci étant dit, comme je le disais plus haut je n'ai aucune connaissances en écriture de script, si cela n'est pas trop demandé, je sais au fond que ça l'est un peu, quelqu'un saurait-il m'écrire la trame du script à laquelle je n'aurais plus qu'à apporter les chemins de destination et le nom des fichiers s'il vous plaît ?

    Merci d'avance de toute votre aide.

  5. #5
    Membre actif
    Homme Profil pro
    Responsable déploiement systèmes
    Inscrit en
    Juin 2015
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement systèmes
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2015
    Messages : 120
    Points : 246
    Points
    246
    Par défaut
    Ok, si ce n'est pas ton truc, j'imagine que tu ne vas pas t'amuser à faire un script tous les jours, te prendre la tête et au final...

    Voilà déjà un bout de code, pas génial mais ça fonctionne (si d'autres contributeurs veulent l'améliorer ou proposer autre chose, je ne me vexerais pas).

    > Créer un nouveau fichier texte, l'éditer avec notepad et mettre dedans le code ci-dessous
    > Modifier le contenu à ta guise (changer les valeurs de Source, Cible, New_File ainsi que l'extension de fichier lignes 6 et 8)
    > Enregistrer le fichier, le renommer avec l'extension BAT puis exécuter le fichier

    Ce petit script peut aussi bien fonctionner en local qu'en réseau (si c'est le cas, faut avoir des droits de modification sur la cible depuis le PC qui exécute le batch)

    Notes :
    - Certains espaces ont leur importance (faire un copier-coller du code plutôt que de le ressaisir - notamment lignes 13 et 15)
    - S'il y a des espaces dans la source, cible ou NewFile, mettre les valeurs entre guillemets
    - Si tu souhaites vérifier le nom du fichier qui est copié, enlever "::" au début de la ligne 12 "Echo Le fichier... "

    Code : 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
    @Echo off
    CLS
    
    Set Source=D:\Dossier_source\
    Set Cible=\\Serveur\Dossier_cible\
    Set NewFile=Fichier_destination.xls
    
    Dir /b /o-d %Source%*.xls > list.txt
    Set /p file=<list.txt
    Del list.txt
    
    :: Echo Le fichier le plus recent du dossier est %file%
    Xcopy %Source%%file% %Cible% /y
    If exist %Cible%%NewFile% del %Cible%%NewFile%
    Rename %Cible%%file% %NewFile%
    PS : Si ça plait à certains, un petit vote me ferait plaisir...

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2017
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    Hello steph, tardivement certes (j'étais en congès ) mais merci beaucoup de ta solution, je test ça au plus vite.

    EDIT : je l'ai donc testé dans la foulée, voici le code tel que je l'ai écrit afin de tester :

    @Echo off
    CLS

    Set Source=C:\Users\Desktop\TEST\A
    Set Cible=C:\Users\Desktop\TEST\B
    Set NewFile=C.xls

    Dir /b /o-d %Source%*.xls > list.txt
    Set /p file=<list.txt
    Del list.txt

    :: Echo Le fichier le plus recent du dossier est %file%
    Xcopy %Source%%file% %Cible% /y
    If exist %Cible%%NewFile% del %Cible%%NewFile%
    Rename %Cible%%file% %NewFile%
    Le résultat que j'obtiens lors de l'exécution est le suivant :

    Le contenu du dossier B est copié (tout le contenu), celui-ci est collé dans le dossier A (sans en supprimer le contenu) et le dossier A en lui-même est renommé C.xls

    Pour rappel de ma cible :

    Supprimer un fichier nommé "C.xls" d’un dossier "A"
    Copier le fichier le plus récent du dossier "B"
    Coller dans le dossier A et nommer "C.xls"

    Merci d'avance de l'aide que vous pourrez m'apporter !

  7. #7
    Membre actif
    Homme Profil pro
    Responsable déploiement systèmes
    Inscrit en
    Juin 2015
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement systèmes
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2015
    Messages : 120
    Points : 246
    Points
    246
    Par défaut
    Salut,

    déjà en quelques secondes sans faire de test, quand je lis ton script personnalisé, je pense qu'il manque l'antislash "\" à la fin de la définition des source et cible, histoire de préciser que tu travailles sur le contenu d'un dossier et pas sur le dossier lui-même...

  8. #8
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2017
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    Hello steph,

    Effectivement en rajoutant ces 2 anti slashs j'ai du mieux.

    Les deux dossiers A et B gardent bien leurs noms, en revanche je me retrouve avec le dossier A vide (il m'a bien supprimé le fichier nommé C.xls dans le dossier A, sans pour autant copier le fichier le plus récent du dossier B pour venir le coller et le renommer C.xls dans le dossier A ou quelque chose comme ça je suppose).

    @Echo off
    CLS

    Set Source=C:\Users\pachecobr\Desktop\TEST\A\
    Set Cible=C:\Users\pachecobr\Desktop\TEST\B\
    Set NewFile=C.xls

    Dir /b /o-d %Source%*.xls > list.txt
    Set /p file=<list.txt
    Del list.txt

    :: Echo Le fichier le plus recent du dossier est %file%
    Xcopy %Source%%file% %Cible% /y
    If exist %Cible%%NewFile% del %Cible%%NewFile%
    Rename %Cible%%file% %NewFile%

  9. #9
    Membre actif
    Homme Profil pro
    Responsable déploiement systèmes
    Inscrit en
    Juin 2015
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement systèmes
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2015
    Messages : 120
    Points : 246
    Points
    246
    Par défaut
    Etrange, ça ne devrait pas supprimer le fichier de la source mais plutôt de la cible, enfin... (permutation de A et B ?)

    Voici le script modifié, avec l'ajout de guillemets pour gérer les espaces dans les noms de dossiers / fichier de destination ainsi que dans le plus récent trouvé

    et la pause en ligne 16 pour lire l'éventuel message d'erreur renvoyé - supprimer cette ligne ou la commenter (:: en début de ligne) une fois que tout fonctionne :

    > Tu peux aussi provisoirement dé-commenter la ligne 12 pour voir si la 1ère partie se passe bien (sélection du fichier le plus récent)...

    Code : 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
    @Echo off
    CLS
    
    Set Source="C:\Users\pachecobr\Desktop\A\"
    Set Cible="C:\Users\pachecobr\Desktop\B\"
    Set NewFile="Fichier_destination.xls"
    
    Dir /b /o-d %Source%*.xls > list.txt
    Set /p file=<list.txt
    Del list.txt
    
    :: Echo Le fichier le plus recent du dossier est %file%
    xcopy %Source%"%file%" %Cible% /y
    If exist %Cible%%NewFile% del %Cible%%NewFile%
    Rename %Cible%"%file%" %NewFile%
    Pause

  10. #10
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2017
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    Ouaw ! Ca fonctionne, merci Steph, c'est génial.

    A bientôt

  11. #11
    Membre actif
    Homme Profil pro
    Responsable déploiement systèmes
    Inscrit en
    Juin 2015
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement systèmes
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2015
    Messages : 120
    Points : 246
    Points
    246
    Par défaut
    Parfait... ENJOY !!! :-)

    PS : Si ma solution convient, un petit vote me fera plaisir...

    A bientôt !

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 27/05/2014, 16h39
  2. Planif tâche windows : Pb batch requetes SQL
    Par fallout2097 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 02/07/2013, 11h37
  3. [Planification de tâches] Persister l'état après un reboot
    Par Wookai dans le forum Général Java
    Réponses: 3
    Dernier message: 12/08/2005, 16h00
  4. barre de tâche Windows
    Par calou34 dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 10/05/2005, 20h42
  5. Ouvrir le planificateur de tâches Windows par programme
    Par BBPlastique dans le forum Windows
    Réponses: 8
    Dernier message: 16/07/2004, 11h30

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