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 :

Utilisation des noms de volumes avec robocopy [Batch]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Juin 2006
    Messages
    622
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 622
    Par défaut Utilisation des noms de volumes avec robocopy
    Bonjour,

    je souhaitais savoir s'il était possible d'utiliser les noms de volume avec la fonction robocopy, plutot que les lettres de lecteur.

    je m'explique : mon lecteur source (C se nomme [System] et mon lecteur de destination se nomme D: [Stock]


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Donc plutôt que de faire : robocopy C:\Documents D:\Save
    faire un truc du style : robocopy [System]\Documents [Stock]\Save

    En effet, utiliser une lettre de lecteur peut s'avérer très dangereux si l'on utilise des supports de stockages usb et que les lettres sont attribuées un peu au hazard...


    Si oui comment ?

    Merci

    A+
    Dams'

  2. #2
    Membre expérimenté Avatar de plopi
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Mars 2011
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2011
    Messages : 191
    Par défaut
    Bonjour,

    Robocopy ne prend en charge que les noms de dossier il me semble.

    Par contre pour la problématique ici, si j comprends bien il s'agit plus d'être capable de récupérer une lettre de lecteur qui est variable pour un volume donnée. Cela doit être possible à l'aide de la commande "WMIC"

    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
    
    set var_VolSource_name=Nom du volume contenant les données
    set var_VolDesti_name=Nom du volume où les données seront copiées 
    
    :: Listing des volumes
    wmic VOLUME get Label,Name /format:csv > volumes.tmp
    
    ::récup des lettres de volumes
    for /f "tokens=3 delims=," %i in ('more volumes.tmp ^| find "[System]"') do set var_VolSource=%i
    
    for /f "tokens=3 delims=," %j in ('more volumes.tmp ^| find "[Stock]"') do set var_VolDesti=%j
    
    :: Action robocopy 
    ROBOCOPY %var_VolSource%\Documents %var_VolDesti%\Save
    Enjoy

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Juin 2006
    Messages
    622
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 622
    Par défaut
    Bonjour,
    merci pour ta réponse...

    j'espérais ne pas avaoir à utiliser wmi... mais c'est ce que j'avais aussi utilisé... peut-être d'une façon un peu plus directe, sans passer par la création d'un fichier temporaire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Set VolumeSource=System
    Set VolumeDestination=Stock
    
    for /F %%i in ('wmic Volume Where Label^="%VolumeSource%" get Driveletter /Value ^| FIND "="') do set Source%%i
    for /F %%i in ('wmic Volume Where Label^="%VolumeDestination%" get Driveletter /Value ^| FIND "="') do set Destination%%i
    echo le lecteur source est : %SourceDriveletter%
    echo le lecteur de destination est : %DestinationDriveletter%
    a++
    Dams'

  4. #4
    Membre Expert
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Par défaut
    Salut,

    Sinon pour ce passer de wmi, il y a les commandes ou utilitaires comme "fsutil", "vol" ou encore "diskpart" (en admin), etc...

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2008
    Messages : 240
    Par défaut
    bONJOUR
    travaillant sur un équivlent en ce moment j ai utilsé ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    @ECHO OFF
    FOR %%A IN (C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO IF EXIST %%A: (
    FOR /F "TOKENS=*" %%B IN ('VOL %%A:^|FIND /I "System"') DO ( SET SYS=%%A)
    )
    ECHO %SYS%
    PAUSE

  6. #6
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 7
    Par défaut Même soucis pour automatisation d'un RAMdisk
    Bonjour,

    La solution ici présente me sera très utile.

    Aussi, pourquoi ne pas vouloir utiliser WMI ?

    Toutes mes excuses pour le déterrage de sujet.

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

Discussions similaires

  1. Utilisation des liste liées (ajax) avec du perl
    Par Jim_Nastiq dans le forum Web
    Réponses: 1
    Dernier message: 12/07/2006, 12h07
  2. Pb export des noms de champ avec # ds EXCEL
    Par 31Steph dans le forum Access
    Réponses: 1
    Dernier message: 29/06/2006, 08h13
  3. Possiblité d'utiliser des noms de répertoires
    Par vicelard dans le forum Access
    Réponses: 4
    Dernier message: 27/10/2005, 11h04
  4. Generer des noms de variables avec une boucle
    Par moutanakid dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 28/07/2004, 17h45
  5. Réponses: 2
    Dernier message: 08/07/2004, 01h04

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