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 :

xcopy / synchro dossiers fichiers / barre de progression / wifi [Batch]


Sujet :

Scripts/Batch

  1. #1
    Membre actif Avatar de GADENSEB
    Homme Profil pro
    Responsable Administratif et Financier
    Inscrit en
    Mars 2014
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable Administratif et Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2014
    Messages : 569
    Points : 285
    Points
    285
    Par défaut xcopy / synchro dossiers fichiers / barre de progression / wifi
    Bonjour le Forum,

    Je cherche à créer un batch/script pour synchroniser certains dossier de mon pc sans passer par un logiciel d’où Xcopy.

    Je souhaite reprendre le script de Hackoo Crackoo sur ce post qui me semble parfait

    Je débute en bach/script


    A.Mon installation

    Mon organisation pc se compose comme cela :

    - 1 Pc portable
    - 1 tour qui me sert de serveur
    - 1 dd externe qui me sert à transporter mes données
    - 8 dossiers synchronisés
    - Connexion en wifi

    Le tout se synchronise à la connexion de mon dd externe sur mon pc portable

    C'est un peu lourd mais c'est le meilleur moyen de backup/synchro que j'ai trouvé jusqu’à présent

    J’ai le logiciel allwaysync qui me fait cela mais j'aimerais passer sur une solution plus légère qu'un logiciel

    D'où la notion de script xcopy (si je comprends tout bien)


    B.Mes dossiers

    - Le DD externe se pose en lettre T : obligatoirement
    - PC portable = GADENSEB
    - PC tour = Garudaseb

    La répartition se fait à partir de GADENSEB

    Nom : LISTE DOSSIERS.JPG
Affichages : 1793
Taille : 59,9 Ko

    C.Paramètres

    -Sens de la synchronisation

    Bidirectionnel sur les dates de création/modifications sur les dossiers/fichiers

    -Exclusion de Fichiers/Dossiers

    Aucunes

    -Quand synchroniser / avec une barre de progression :

    A la connexion de mon dd externe
    « A la main » -> double-click sur le vbs/batch
    A la fermeture du PC GADENSEB -> Stratégie de groupe

    -Constantes dans le script

    Créer des constantes pour chaque dossier à synchroniser ?


    D.Le script à adapter

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    Option Explicit
    Dim sSrc,sDest,MyCmd,Temp,Titre,MsgTitre,MsgAttente,Copyright,oExec,ws,LogTmpFile,LogFile,MyExcludeFile
    Copyright = "[ XcopyScript © Hackoo Crackoo © 2014 ]"
    Set ws = CreateObject("WScript.Shell")
    Temp = ws.ExpandEnvironmentStrings("%Temp%")
    sSrc = "C:\Downloads"
    sDest = "E:\XCopytest"
    LogTmpFile = "MyTmpXCopyLog.txt"
    LogFile = "MyXCopyLog.txt"
    MyExcludeFile = "echo .mp3 > MyExcludeFile.txt" 'This file must be created and contains .mp3 to exclude in the first line
    '**************************************************************************************************************************
    'Remark : You can also add some other filters like this :
    'for example, if you want to exculde all .exe files with all .mp3 files, you should write this variable like this :
    'MyExcludeFile = "echo .mp3 > MyExcludeFile.txt & echo .exe >> MyExcludeFile.txt"
    'and so on .....
    '**************************************************************************************************************************
    Call Executer(MyExcludeFile,0)
    MyCmd = "XCopy" & " " & sSrc & " " & sDest & " /F /I /E /Y /EXCLUDE:MyExcludeFile.txt > " & LogTmpFile &_
    " & cmd /U /C Type " & LogTmpFile & " > " & LogFile & " & Del " & LogTmpFile & " & Del MyExcludeFile.txt"
    Titre = "Copying files " & Copyright
    MsgAttente = "Copying files from <font color=Yellow>" & DblQuote(sSrc) & " to " & DblQuote(sDest) & " </font>  . . . ."
    Call CreateProgressBar(Titre,MsgAttente)
    Call LancerProgressBar()
    Call Pause(2)
    Call Executer(MyCmd,0)
    FermerProgressBar()
    ws.run LogFile
    '****************************************************************************************************
    Function Executer(StrCmd,Console)
            Dim ws,MyCmd,Resultat
            Set ws = CreateObject("wscript.Shell")
    'La valeur 0 pour cacher la console MS-DOS
            If Console = 0 Then
                    MyCmd = "CMD /C " & StrCmd & " "
                    Resultat = ws.run(MyCmd,Console,True)
                    If Resultat = 0 Then
                            'MsgBox "Success"
                    Else
                            MsgBox "Une erreur inconnue est survenue !",16,"Une erreur inconnue est survenue !"
                    End If
            End If
    'La valeur 1 pour montrer la console MS-DOS
            If Console = 1 Then
                    MyCmd = "CMD /K " & StrCmd & " "
                    Resultat = ws.run(MyCmd,Console,False)
                    If Resultat = 0 Then
                            'MsgBox "Success"
                    Else
                            MsgBox "Une erreur inconnue est survenue !",16,"Une erreur inconnue est survenue !"
                    End If
            End If
            Executer = Resultat
    End Function
    '****************************************************************************************************
    Sub CreateProgressBar(Titre,MsgAttente)
            Dim ws,fso,f,f2,ts,ts2,Ligne,i,fread,LireTout,NbLigneTotal,Temp,PathOutPutHTML,fhta,oExec
            Set ws = CreateObject("wscript.Shell")
            Set fso = CreateObject("Scripting.FileSystemObject")
            Temp = WS.ExpandEnvironmentStrings("%Temp%")
            PathOutPutHTML = Temp & "\Barre.hta"
            Set fhta = fso.OpenTextFile(PathOutPutHTML,2,True)
            fhta.WriteLine "<HTML>"
            fhta.WriteLine "<HEAD>"
            fhta.WriteLine "<Title>  " & Titre & "</Title>"
            fhta.WriteLine "<HTA:APPLICATION"
            fhta.WriteLine "ICON = ""magnify.exe"" "
            fhta.WriteLine "BORDER=""THIN"" "
            fhta.WriteLine "INNERBORDER=""NO"" "
            fhta.WriteLine "MAXIMIZEBUTTON=""NO"" "
            fhta.WriteLine "MINIMIZEBUTTON=""NO"" "
            fhta.WriteLine "SCROLL=""NO"" "
            fhta.WriteLine "SYSMENU=""NO"" "
            fhta.WriteLine "SELECTION=""NO"" "
            fhta.WriteLine "SINGLEINSTANCE=""YES"">"
            fhta.WriteLine "</HEAD>"
            fhta.WriteLine "<BODY text=""white""><CENTER><DIV><SPAN ID=""ProgressBar""></SPAN>"
            fhta.WriteLine "<span><marquee DIRECTION=""LEFT"" SCROLLAMOUNT=""3"" BEHAVIOR=ALTERNATE><font face=""Comic sans MS"">" & MsgAttente &"</font></marquee></span></DIV></CENTER></BODY></HTML>"
            fhta.WriteLine "<SCRIPT LANGUAGE=""VBScript""> "
            fhta.WriteLine "Set ws = CreateObject(""wscript.Shell"")"
            fhta.WriteLine "Temp = WS.ExpandEnvironmentStrings(""%Temp%"")"
            fhta.WriteLine "Sub window_onload()"
            fhta.WriteLine "    CenterWindow 480,90"
            fhta.WriteLine "    Self.document.bgColor = ""DarkOrange"" "
            fhta.WriteLine " End Sub"
            fhta.WriteLine " Sub CenterWindow(x,y)"
            fhta.WriteLine "    Dim iLeft,itop"
            fhta.WriteLine "    window.resizeTo x,y"
            fhta.WriteLine "    iLeft = window.screen.availWidth/2 - x/2"
            fhta.WriteLine "    itop = window.screen.availHeight/2 - y/2"
            fhta.WriteLine "    window.moveTo ileft,itop"
            fhta.WriteLine "End Sub"
            fhta.WriteLine "</script>"
            fhta.close
    End Sub
    '**********************************************************************************************
    Sub LancerProgressBar()
            Set oExec = Ws.Exec("mshta.exe " & Temp & "\Barre.hta")
    End Sub
    '**********************************************************************************************
    Sub FermerProgressBar()
            oExec.Terminate
    End Sub
    '**********************************************************************************************
    Sub Pause(NSeconds)
            Wscript.Sleep(NSeconds*1000)
    End Sub  
    '**********************************************************************************************
    Function DblQuote(Str)
            DblQuote = Chr(34) & Str & Chr(34)
    End Function
    '**********************************************************************************************
    Merci à vous

    bonne soirée

    Seb
    Fichiers attachés Fichiers attachés
    Bonne journée
    Seb



    ###############################
    C'est Totomatique, On va tout Totomate-isé ;-)
    ###############################

  2. #2
    Membre expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Points : 3 768
    Points
    3 768
    Par défaut
    j'aimerais passer sur une solution plus légère qu'un logiciel
    Sur un site de programmation ça va être dur

    Je te rappelle juste que c'est un sîte d'aide à la programmation et non de création de programmes sur mesure. (bien que ça se fait souvent pour des petites choses...)
    Donc commence à analyser le code et à le modifier pour tes besoins et lorsque ça coinçes tu fais ta demande.

    Pour un consultant en Informatique tu comprendras facilement que ce que tu demandes sur 1 seul topic est un peu..... On va dire exageré....

    A bon entendeur....

    ________________________________
    Un p'tit coup de pouce ça fait toujours plaisir, pensez-y !
    ________________________________

  3. #3
    Membre actif Avatar de GADENSEB
    Homme Profil pro
    Responsable Administratif et Financier
    Inscrit en
    Mars 2014
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable Administratif et Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2014
    Messages : 569
    Points : 285
    Points
    285
    Par défaut
    Hello

    oui tu as raison ...

    Mes excuses ..

    Je vais me pencher sur le sujet et je reviens vous voir


    Bonne aprem

    Seb
    Bonne journée
    Seb



    ###############################
    C'est Totomatique, On va tout Totomate-isé ;-)
    ###############################

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

Discussions similaires

  1. Copie de fichier avec barre de progression
    Par Papy214 dans le forum C#
    Réponses: 6
    Dernier message: 06/11/2008, 10h17
  2. Réponses: 1
    Dernier message: 30/07/2008, 12h07
  3. [Upload] Upload d'un gros fichier + barre de progression
    Par Night_owl dans le forum Langage
    Réponses: 4
    Dernier message: 27/03/2008, 15h14
  4. Réponses: 8
    Dernier message: 20/11/2007, 09h37
  5. barre de progression pour fichier en telechargement
    Par Tierisa dans le forum Access
    Réponses: 6
    Dernier message: 07/04/2006, 14h49

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