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

Scripts/Batch Discussion :

Déplacement de dossier suivant un numéro


Sujet :

Scripts/Batch

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Responsable sécurité
    Inscrit en
    Octobre 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Responsable sécurité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2020
    Messages : 3
    Par défaut Déplacement de dossier suivant un numéro
    Bonjour à tous,

    Le titre n'étant pas très clair j'espère que mes explications le seront.

    Voilà mon problème, sur un serveur j'ai une arborescence de dossiers et fichiers imposée par l'éditeur d'un logiciel. J'ai donc un disque de 50 To (plusieurs disques en SAS raid 5) qui doit contenir des informations et ce pour une durée de 1 an sauf que le disque est devenu trop petit et manque de place, j'ai donc voulu faire un script pour déplacer d'un disque vers un autre et une fois la copie faite, un effacement sur le disque source. Le script que j'ai fait en "urgence" fonctionne mais impose de rester devant le clavier pour valider à chaque fois. Saut que cette manip je dois la valider 100 fois par dossiers ... et vu le nombre de dossier c'est interminable, je suppose qu'il est possible de faire une boucle de 0 à 99 en forçant la validation.

    L'arborescence est la suivante :

    E:\Records\0\mXX que je déplace dans F:\Records\0\mXX (le m reste toujours m il n'y a que le XX qui change et qui va de 0 à 99)

    donc mon script ressemble pour le moment à ceci :

    Code Batch : 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
    : restart
    echo oGG
    title Nettoyage Recors sur E:
    cls
    echo ****************************************
    echo  Deplace Records de E vers F
    echo ****************************************
    echo ****************************************
    echo Efface les Recors sur E
    echo ****************************************
    echo.
     
    set /p i=Quel est le numero du Record a deplacer et supprimer ? ( ne pas preceder du "m" )
     
    for %%a in (%i%) do %
    mkdir F:\Records\0\m%i%
    xcopy /S /E E:\Records\0\m%i% F:\Records\0\m%i%
    rmdir /s E:\Records\0\m%i%
     
    mkdir F:\Records\1\m%i%
    xcopy /S /E E:\Records\1\m%i% F:\Records\1\m%i%
    rmdir /s E:\Records\1\m%i%
     
    mkdir F:\Records\2\m%i%
    xcopy /S /E E:\Records\2\m%i% F:\Records\2\m%i%
    rmdir /s E:\Records\2\m%i%

    Et ça 99 fois ... donc je suppose qu'il est possible de simplifier ça avec une boucle de 0 à 99 mais je vois pas comment, votre aide serait la bienvenue !

    En attendant de vous lire, prenez soin de vous et vos proches !

  2. #2
    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
    Un truc comme ceci.
    J'ai ajouté 2 paramètres à xcopy
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    /H           Copie également les fichiers cachés et les fichiers système.
    /K           Copie les attributs. La commande normale Xcopy rétablira les attributs de lecture seule.
    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    @echo off
    cls
     
    FOR /L %%a IN (0,1,2) DO (
    	FOR /L %%b IN (0,1,99) DO (
    		mkdir "F:\Records\%%~a\m%%~b"
    		xcopy /S /E /H /K "E:\Records\%%a\m%%b" "F:\Records\%%a\m%%~b"
    		rmdir /s "E:\Records\%%~a\m%%~b"
    	)
    )
     
    pause

    A y réfléchir tu devrait supprimer le dossier si la copie n'a pas eu d'erreur comme ceci.
    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    @echo off
    cls
     
    FOR /L %%a IN (0,1,2) DO (
    	FOR /L %%b IN (0,1,99) DO (
    		mkdir "F:\Records\%%~a\m%%~b"
    		xcopy /S /E /H /K "E:\Records\%%a\m%%b" "F:\Records\%%a\m%%~b" && rmdir /s "E:\Records\%%~a\m%%~b"
    	)
    )
     
    pause

    Tout ceci à tester bien sur

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Responsable sécurité
    Inscrit en
    Octobre 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Responsable sécurité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2020
    Messages : 3
    Par défaut
    Merci pour ta réponse ericlm128,

    Pour tes deux variables %%a et %%b elles vont chacune de 1 à 99
    donc si je comprends bien il faudrait que je les ecrives et ?

    Cordialement

  4. #4
    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
    Dans le code transmis %%a va de 0 à 2 et %%b de 0 à 99.
    Tu peux les modifier à ta convenance
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FOR /L %variable IN (début,pas,fin) DO commande [paramètres]

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Responsable sécurité
    Inscrit en
    Octobre 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Responsable sécurité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2020
    Messages : 3
    Par défaut
    Bonjour ericlm128,

    En testant le script en fait il me copie tous les sous-dossiers d'un dossier, ce que je ne veux et j'explique pourquoi.
    Mon drive E: est partagé et accessible par des utilisateurs authentifiés, ils doivent pouvoir éditer les enregistrements, hors le script me déplace tous les sous dossiers mXX.

    en fait il faut que je puisse choisir quel sous dossier mXX (donc m0 à m99) à déplacer de E vers F et qu'il fasse ça dans tous les dossiers parents qui vont eux aussi de 0 à 99 je sais pas si mes explications sont claires .... j'ai un doute

    Cordialement

  6. #6
    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
    Non en fait ça me fait mal à la tête tes explications , je ne comprend pas bien

Discussions similaires

  1. Déplacement de Dossiers : problème
    Par ADbtr dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/07/2010, 09h28
  2. déplacement dans colonne suivante
    Par seba_stien dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 04/12/2008, 15h39
  3. Réponses: 7
    Dernier message: 15/09/2008, 10h44
  4. [Javascript] déplacement de div suivant souris
    Par LE NEINDRE dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/06/2006, 16h45
  5. [MySQL] Contenu dynamique suivant le numéro de la semaine courante
    Par mitch99 dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 20/05/2006, 21h38

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