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

VB.NET Discussion :

récupérer un sous-répertoire


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Octobre 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Auditeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2014
    Messages : 14
    Par défaut récupérer un sous-répertoire
    Bonjour, j'aimerais en vb.net pourvoir récupérer un sous-répertoire. Tout ce que je trouve sur le net, c'est lister des fichiers et répertoires. Moi je veux pas lister les fichier mais juste sélectionner le sous-répertoire dans le quelle je vais pouvoir aller porter un fichier. Je dois préciser que je commence en vb.net.

    Ce que je dois faire dans mon programme c'est: aller cherche des fichiers sur un réseau, les copier dans un répertoire temporaire, changer leurs noms et les déplacer dans un autre répertoire sur un autre disque du réseau. J'arrive à tout faire cela mais je ne sais pas comment faire pour aller chercher le répertoire dont j'ai besoin pour déplacer mon fichier une fois que son nom est changé.

    Je vous mets le code à partir du moment ou je renomme le fichier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    My.Computer.FileSystem.RenameFile("z:\test\transfert pdf\_pdf", z:\test\transfert pdf\fichier1.pdf")
                    Repert2 = Path.GetFullPath("z:\test\")
                    For Each Rep In Directory.GetDirectories("z:\test", Rep, SearchOption.AllDirectories)
    j'ai nommé une variable repert2 pour obtenir le path de départ et j'utilise un variable Rep pour nommer les sous-répertoires, mais là, j'improvise car je ne sais pas comment faire.

    merci de votre aide

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    tout est dans system.io

    system.io.file.move doit exister
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre actif
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Octobre 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Auditeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2014
    Messages : 14
    Par défaut
    ok, je recommence parce que je crois avoir mal formuler ma question. Je ne cherche pas la commande pour déplacer un fichier, je la sais déjà. Je veux savoir comment je fais pour trouver les sous-répertoires qui sont dans un répertoire principal, sachant que je ne connais pas le nom des sous-répertoires. Ex: j'ai un répertoire qui s'appelle "z:\text\atest", un autre qui s'appelle "z:\test\btest" et ainsi de suite jusqu'à "zzz" mettons. Le fichier que je dois aller porter, aura comme nom "aprojet.xxx" s'il doit aller dans le répertoire "atest" et "csprojet.xxx" si c'est dans "cstest", etc.

    donc, en bref, je dois trouver un répertoire qui a comme nom au début soit un, deux ou trois lettres qui sont identique au premières lettres du fichier pour pouvoir ensuite déplacer mon fichier dans ce répertoire.

    j'espère que c'est plus clair.

    merci

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    le mieux avant d'utiliser un outil est de regarder comment il fonctionne
    et pour ca vs est plutot bien fait, vu que tu peux tout parcourir pour avoir une idée de ce que ca fait et de ce qu'il y a derrière

    en tapant system.io. tu peux lire tout ce qui t'es proposé


    sinon ce que tu cherches c'est
    system.io.directory.getfiles
    system.io.directory.getdirectories
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre actif
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Octobre 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Auditeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2014
    Messages : 14
    Par défaut
    merci, j'ai déjà import system.io et j'ai essayé avec directory.getdirectories mais il me sous-ligne le texte et me dit : Impossible de convertir une valeur de type tableau à 1 dimension de string en string.

    la manière de m'y prendre est probablement incorrect mais je ne trouve pas comment. Bon je vous donne mon code au complet, peut-être ce sera plus facile de voir ce qui cloche.

    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
    Public Class PDF_COPIE
     
        Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
     
            Call LireRep("z:\test")
     
        End Sub
        Private Sub LireRep(ByVal Rep As String)
     
            Dim repertoire As New DirectoryInfo("z:\test")
            Dim NewRep As DirectoryInfo = Repertoire.CreateSubdirectory("Transfert")
            Dim Extention As String = ("test")
            Dim SousRep As String() = Directory.GetDirectories(Rep)
            Dim DirRep As String
            Dim DirRep2 As String
            Dim DirRep3 As String
            Dim NomRep As String
            Dim DebNom As String
            Dim Lng As Integer
            Dim NomFichier As String
            Dim Repert2 As String
            Dim RepReseau As String
     
            Extention = Path.GetFileNameWithoutExtension("test")
            NomFichier = Microsoft.VisualBasic.Right(Extention, 4)
     
            If File.Exists("z:\test\transfert\test.abc") Then
                My.Computer.FileSystem.DeleteFile("z:\test\transfert\test.abc")
            End If
     
            For Each Extention In Directory.GetFiles("q:\projects", Extention, SearchOption.AllDirectories)
                NomRep = Path.GetDirectoryName(Extention)
                DirRep = NomRep.Substring(12)
                DirRep2 = Microsoft.VisualBasic.Mid(DirRep, Microsoft.VisualBasic.InStr(DirRep, "\") + 1)
                DirRep3 = Microsoft.VisualBasic.Left(DirRep2, Microsoft.VisualBasic.InStr(DirRep2, "\") - 1)
     
                File.Copy("c:\users\ordis\documents\test\test.abc", "z:\test\transfert PDF\test.abc")
                System.Threading.Thread.Sleep(1000)
                Try
                    'détermine si le fichier est supprimé ou pas avec un "-"
                    DebNom = Microsoft.VisualBasic.Left(DirRep3, Microsoft.VisualBasic.InStr(DirRep3, "-") + 3)
                Catch ex As Exception
                    MessageBox.Show(ex.ToString)
                    If Lng > 3 And DirRep3 = "-" Then
                        File.Delete("z:\test\Transfert\" & NomFichier)
                    End If
                Finally
                    DebNom = Nothing
                End Try
     
                DebNom = Microsoft.VisualBasic.Left(DirRep3, 2)
                If DebNom = "HS" Or DebNom = "qd" Then
                    File.Delete("z:\test\Transfert\" & NomFichier)
                    GoTo 1
                End If
     
                DebNom = Microsoft.VisualBasic.Left(DirRep3, 3)
                If DebNom = "RPA" Or DebNom = "DRW" Or DebNom = "RPR" Or DebNom = "RCH" Then
                    File.Delete("z:\test\Transfert\" & NomFichier)
                    GoTo 1
                End If
     
                DebNom = Microsoft.VisualBasic.Left(DirRep3, 4)
                If DebNom = "RSAT" Or DebNom = "RTAB" Or DebNom = "RCAN" Or DebNom = "RFOU" Or DebNom = "HYCK" Or DebNom = "MEMY" Or DebNom = "MEPA" Then
                    File.Delete("z:\test\Transfert\" & NomFichier)
                    GoTo 1
                End If
     
                DebNom = Microsoft.VisualBasic.Left(DirRep3, 5)
                If DebNom = "RCONV" Or DebNom = "RDOMP" Or DebNom = "RTEU" Or DebNom = "RTRAN" Or DebNom = "RRAIL" Or DebNom = "RDRIV" Or DebNom = "RCOIN" Or DebNom = "RPLFO" Or DebNom = "RTEVI" Or DebNom = "RECAR" Or DebNom = "RPLAT" Or DebNom = "RTUYA" Or DebNom = "RRIOP" Then
                    File.Delete("z:\test\Transfert\" & NomFichier)
                    GoTo 1
                End If
     
                If DebNom <> "HS" And DebNom <> "QD" And DebNom <> "RPA" And DebNom <> "RTAB" And DebNom <> "RCAN" And DebNom <> "RFOU" And DebNom <> "HYCK" And DebNom <> "MEMY" And DebNom <> "MEPA" And DebNom <> "RSAT" And DebNom <> "RCONV" And DebNom <> "RDOMP" And DebNom <> "RTEU" And DebNom <> "RTRAIN" And DebNom <> "RDRIV" And DebNom <> "RCOIN" And DebNom <> "RPLFO" And DebNom <> "RTEVI" And DebNom <> "RECAR" And DebNom <> "RTUYA" Then
     
                    My.Computer.FileSystem.RenameFile("z:\test\transfert\test.abc", DirRep3 & ".abc")
                   Repert2 = Directory.GetDirectories("z:\test\transfert", SearchOption.AllDirectories)
     
     
                End If
    merci

  6. #6
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Repert2 = Directory.GetDirectories("z:\test\transfert", SearchOption.AllDirectories)
    alors que là tu avais réussi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim SousRep As String() = Directory.GetDirectories(Rep)

    string() veut dire tableau de string
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

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

Discussions similaires

  1. Récupérer un sous répertoire
    Par Cristalinz dans le forum VBScript
    Réponses: 1
    Dernier message: 06/06/2014, 11h13
  2. Récupérer des fichiers dans des repertoires et sous répertoires
    Par philcphilc dans le forum Développement de jobs
    Réponses: 4
    Dernier message: 05/09/2013, 19h37
  3. [XL-2003] Récupérer répertoire et sous répertoire sans les fichiers
    Par dlight dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/05/2013, 19h13
  4. Réponses: 7
    Dernier message: 10/12/2007, 11h27
  5. Comment récupérer les sous répertoires d'un répertoire
    Par charliejo dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/02/2006, 08h47

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