Dir en mode Console

Résolu
MaxSoldier Messages postés 289 Date d'inscription dimanche 10 août 2003 Statut Membre Dernière intervention 28 février 2009 - 9 août 2004 à 18:35
MaxSoldier Messages postés 289 Date d'inscription dimanche 10 août 2003 Statut Membre Dernière intervention 28 février 2009 - 9 août 2004 à 20:34
Bonjours, je n'arrive pas a afficher les dossiers et les fichiers d'un dossier en mode texte. --> C:\
C:\Windows\
C:\Autoexec.bat

Merci. (J'espère avoir été clair dans ma question ( quoi que :p ))

-=Ar$£nik=-

4 réponses

cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
9 août 2004 à 19:18
Bonjour
Ton code, corrigé comme ci-dessous liste tous les dossiers et tous les fichiers du dossier indiqué dans Text1

Private Sub cDir()
Dim S1 As String, S2 As String, sDir As String
sDir = sDir Text1.Text
If Right(sDir, 1) <> "" Then sDir = sDir & ""
S1 = Dir(sDir, vbDirectory)
While S1 <> ""
   If (S1 <> ".") And (S1 <> "..") Then 
      S2 = sDir + S1
      If Mid(Right(S2, 4), 1, 1) <> "." Then
         Text2.Text = Text2.Text & S2 & "" & vbNewLine
      Else
         Text2.Text = Text2.Text & S2 & " " & FileLen(S2) & vbNewLine
      End If
   End If
   S1 = Dir
Wend
Text2.Text = Text2.Text & vbNewLine
End Sub


Mais si tu veux lister les fichiers situés dans les sous-répertoires, il te faut une fonction récursive (qui s'appelle elle-même).

Tu en trouveras des exemples sur ce site, en particulier ICI.
3
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
9 août 2004 à 18:38
nan c'est pas clair du tout

@+

E.B.
0
MaxSoldier Messages postés 289 Date d'inscription dimanche 10 août 2003 Statut Membre Dernière intervention 28 février 2009 2
9 août 2004 à 18:44
Explication :
J'ai fait ce code :

Private Sub cDir(iPos As Integer)
Dim S1, S2 As String

iPos = iPos + 1

While Mid(Text1.Text, iPos, 1) <> ""
sDir = sDir & Mid(Text1.Text, iPos, 1)
iPos = iPos + 1
Wend

S1 = Dir(sDir, vbDirectory)

While S1 > ""

If (S1 <> ".") And (S1 <> "..") Then
S2 = sDir + S1

If Mid(Right(S2, 4), 1, 1) <> "." Then

Text2.Text = Text2.Text & S2 & "" & vbNewLine
Else
Text2.Text = Text2.Text & S2 & " " & FileLen(file) & vbNewLine

End If

End If
S1 = Dir
Wend

Text2.Text = Text2.Text & vbNewLine
End Sub

En théorie il me permet de lister tous les fichiers et autres dossiers présent dans le chemin indiqué ( text1.text ). Mais il ne m'affiche pas tous les dossier et aucun fichier.

je pense avoir été plus clair ( j'espère :p )

-=Ar$£nik=-
0
MaxSoldier Messages postés 289 Date d'inscription dimanche 10 août 2003 Statut Membre Dernière intervention 28 février 2009 2
9 août 2004 à 20:34
Merci beaucoup ça marche parfaitement !
-=Ar$£nik=-
0
Rejoignez-nous