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 :

Ajouter un dossier parent à un dossier en fonction de son nom [Batch]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 87
    Par défaut Ajouter un dossier parent à un dossier en fonction de son nom
    Bonjour,
    Je viens demander votre aide pour faire fasse au problème suivant :

    J'ai une liste de dossiers ayant comme nom un numéro (entre 12000 et 12300) et un horodatage se présentant de tel manière :

    12000_09022015
    12001_16032015
    12002_25022015
    12003_19102015
    ...

    Et j'aimerais que chaque dossier ait un dossier parent ayant comme nom uniquement le numéro :

    12000
    |_12000_09022015
    12001
    |_12001_16032015
    12002
    |_12002_25022015
    12003
    |_12003_19102015
    ...


    Si vous pouviez éclairer ma lanterne...

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

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 844
    Par défaut

    Exemple de dossier 12000_09022015
    Vous voulez dire créer un dossier parent 12000 et déplacer le dossier concerné 12000_09022015 dans le dossier parent 12000 ? c'est ça ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 87
    Par défaut

    C'est exactement ça !

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

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 844
    Par défaut

    Testez cette solution en Vbscript :
    Code vb : 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
    Option Explicit
    Dim Dossier,SourceFolder,DestinationFolder,Ws
    SourceFolder = Browse4Folder()
    DestinationFolder = SourceFolder
    Call Scan4Folder(SourceFolder)
    MsgBox "Le script est terminé by Hackoo !",VbInformation,"Script est terminé by Hackoo !"
    Set Ws = CreateObject("wscript.shell")
    ws.run "Explorer " & DblQuote(DestinationFolder)
    '**************************************************************************
    Function Browse4Folder()
        Dim objShell,objFolder,Message
        Message = "Please select a folder "
        Set objShell = CreateObject("Shell.Application")
        Set objFolder = objShell.BrowseForFolder(0,Message,0,0)
        If objFolder Is Nothing Then
            Wscript.Quit
        End If
        Browse4Folder = objFolder.self.path
    End Function
    '*********************************************************************
    Function Scan4Folder(Folder)
        Dim fso,objFolder,Dossier
        Dim Tab,LeDossier,NewFolderName
        Set fso = CreateObject("Scripting.FileSystemObject")
        Set objFolder = fso.GetFolder(Folder)
        For Each Dossier in objFolder.SubFolders
            Tab = Split(Dossier.Name,"_")
            NewFolderName = Tab(0)
            BuildFullPath(DestinationFolder & "\" & NewFolderName)
            Set LeDossier = fso.GetFolder(Dossier)
            LeDossier.Move DestinationFolder & "\" & NewFolderName & "\"
            Msgbox "Le dossier " & DblQuote(Dossier) & " est déplacé dans " & vbcr &_
            DblQuote(DestinationFolder & "\" & NewFolderName),vbInformation,DblQuote(Dossier)    
        Next
    End Function
    '*********************************************************************
    Sub BuildFullPath(ByVal FullPath)
        Dim fso : Set fso = CreateObject("Scripting.FileSystemObject")
        If Not fso.FolderExists(FullPath) Then
            BuildFullPath fso.GetParentFolderName(FullPath)
            fso.CreateFolder FullPath
        End If
    End Sub
    '*********************************************************************
    Function DblQuote(Str)
        DblQuote = Chr(34) & Str & Chr(34)
    End Function
    '*********************************************************************

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 87
    Par défaut
    Merci hackoofr ça marche du tonnerre !
    Vous m'enlevez une épine du pied ! Je me voyais mal me taper tout ça manuellement !

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

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 844
    Par défaut
    Citation Envoyé par oOBaalberithOo Voir le message
    Merci hackoofr ça marche du tonnerre !
    Vous m'enlevez une épine du pied ! Je me voyais mal me taper tout ça manuellement !
    Je te dois alors un +1
    NB: si vous avez plusieurs dossiers à déplacer vous pouvez alors supprimer le MsgBox pour aller plus vite

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

Discussions similaires

  1. ajout d'un element dans une liste et modifier son nom
    Par fibi007 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 29/04/2008, 17h50
  2. récupérer indice champ en fonction de son nom
    Par chris76 dans le forum Access
    Réponses: 2
    Dernier message: 05/01/2007, 08h31
  3. [VB6] Connaitre la lettre d'un lecteur en fonction de son nom
    Par dbozec dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 11/11/2006, 21h57
  4. cocher une checkbox en fonction de son nom
    Par boss_gama dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 08/09/2006, 16h42
  5. appeler une fonction connaissant son nom (en string)
    Par Guigui_ dans le forum Général Python
    Réponses: 1
    Dernier message: 20/07/2004, 00h46

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