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 :

Analyser repertoire et s/repertoire


Sujet :

VBScript

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2012
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juillet 2012
    Messages : 50
    Points : 42
    Points
    42
    Par défaut Analyser repertoire et s/repertoire
    hello
    Voici mon problème du jour, qui pour un expert doit être un jeu d'enfant

    J'ai un répertoire ( 1 ) qui contient des s/ répertoires ( 2 )
    dans les sous répertoires ( 2 ) se trouvent des dossiers ( 3 ) soit du jour ou bien des jours précédents
    le but c'est que je puisse faire un script qui regarde dans tout les s/répertoires ( 2 ) si il existe des nouveaux dossiers ( 3 ) avec la date du jour
    pour en faire une copie
    merci pour votre aide

  2. #2
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 415
    Points : 5 806
    Points
    5 806
    Par défaut
    Pour un début, regarde ICI et aussi LA
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

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

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut
    Citation Envoyé par yoyo-tns Voir le message
    J'ai un répertoire ( 1 ) qui contient des s/ répertoires ( 2 )
    dans les sous répertoires ( 2 ) se trouvent des dossiers ( 3 ) soit du jour ou bien des jours précédents
    le but c'est que je puisse faire un script qui regarde dans tout les s/répertoires ( 2 ) s'il existe des nouveaux dossiers ( 3 ) avec la date du jour
    pour en faire une copie

    Postez votre Script

  4. #4
    Membre du Club
    Inscrit en
    Juillet 2012
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juillet 2012
    Messages : 50
    Points : 42
    Points
    42
    Par défaut comparer des dates / copier
    n'étant pas du tout du domaine info j'ai un mal fou a faire ce script, et une petit aide serait du plus grand bien
    en pièce jointe j'ai une petite explication de ce que je souhaiterais faire
    un grand merci pour votre coup de main

    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
    'Recuperation de la date du jour
     
     
    dim datemodif
    dim dateactuelle
    Dim stRep 'Nom du repertoire … parcourir
     
     
    dateactuelle = Day(Now)& "/"& Month(Now)& "/"& Year(Now)
    WScript.Echo dateactuelle
     
     
    'Dim stRep 'Nom du repertoire … parcourir 
    Dim oFSO,oFld 
    Set oFSO = CreateObject("Scripting.FileSystemObject") 
    stRep = "D:\wav\Copie\" 
    If oFSO.FolderExists(stRep) Then 
     For each oFld in  oFSO.GetFolder(stRep).SubFolders
          MsgBox   "DateLastModified :" & oFld.DateLastModified  & vbCrlf & _
             "Name :"  & oFld.Name & vbCrlf & _  
               "SubFolders.Count :" & oFld.SubFolders.count  & vbCrlf & _  
                  "Type :" & oFld.Type
     
    datemodif = oFld.DateLastModified
     
    wscript.Echo datemodif 
     
       Next 
    End If
    Fichiers attachés Fichiers attachés

  5. #5
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut [BAT] XCopyNewFiles.bat

    Voici un petit script batch qu'on peut facilement l'intégrer dans un vbscript, si vous voulez bien sûr cacher l'invite de commande
    Avant tout, vous deviez essayer ce batch puis on discutera après pour le vbscript
    Donc ce script batch utilise la commande XCopy.exe avec l'option /D qui vous intéresse dans votre cas
    /d [: MM-jj-aaaa] ==> Copie les fichiers modifiés ou après la date spécifiée uniquement de sources. Si vous n'incluez pas une valeur MM-jj-aaaa , xcopy copie tous les fichiers sources qui sont plus récents que les fichiers de Destination existants. Cette option de ligne de commande permet de mettre à jour les fichiers qui ont changé.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    @echo off
    Title Copier les nouveaux dossiers et les nouveaux fichiers by Hackoo
    mode con cols=75 lines=2 & Color 9B
    Set Source="E:\Test"
    Set Destination="C:\TestCopy"
    XCopy "%Source%" "%destination%" /D /Y /E /F > LogCopyTmp.txt & cmd /U /C Type LogCopyTmp.txt > LogCopy.txt & Del LogCopyTmp.txt
    Start LogCopy.txt
    pause

  6. #6
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut [VBS] XCopyNewFiles.vbs

    La version en vbscript
    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
    Option Explicit
    Dim sSrc,sDest,MyCmd,Temp,Titre,MsgTitre,MsgAttente,Copyright,oExec,ws,LogTmpFile,LogFile,MyExcludeFile,Param
    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"
    Param = " /D /Y /E /F"
    MyCmd = "XCopy" & " " & DblQuote(sSrc) & " " & DblQuote(sDest) & " " & Param &" > " & LogTmpFile &_
    " & cmd /U /C Type " & LogTmpFile & " > " & LogFile & " & Del " & LogTmpFile & ""
    Titre = "Copie de Sauvegarde " & Copyright
    MsgAttente = "Copie de Sauvegarde : <font color=Yellow>" & DblQuote(sSrc) & " vers " & DblQuote(sDest) & " </font>  . . . ."
    Call CreateProgressBar(Titre,MsgAttente)
    Call LancerProgressBar()
    Call Pause(2)
    Call Executer(MyCmd,0)
    Call 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
            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
            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 500,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
    '**********************************************************************************************

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/06/2007, 09h07
  2. Réponses: 7
    Dernier message: 19/06/2007, 15h55
  3. accès à un repertoire externe au repertoire de bas de l'appli
    Par sylou38 dans le forum Tomcat et TomEE
    Réponses: 4
    Dernier message: 06/10/2006, 19h59
  4. Scan d'un repertoire et sous repertoires
    Par Malone dans le forum Langage
    Réponses: 6
    Dernier message: 08/08/2005, 13h03

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