Vbs cherche script liste dossier sous dossier
olivierapprenti
Messages postés
3
Statut
Membre
-
Info -
Info -
Bonjour,
voilà mon premier post étant donner que je ne trouve pas de solution :
je cherche un script vbs ou batch permettant un listing de dossier et sous dossier ainsi que les fichier s'y trouvant et cela dans une page html.
j'ai un dossier AUDIO dont j'aimerai faire afficher dans un page html son contenue.
sachant que dans mon dossier AUDIO figure X sous dossier ex:
repertoire :AUDIO
sous repertoire :
rap
r&b
varieter
....
et dans ces sous repertoire figure également les repertoire des artiste en question
et pour finir les fichier .mp3
le but de la création voulu de cette liste en forma html
est que j'ai créer une petite application en vb permettant de se connecter à mon ftp
et j'aimerai y insérer CETTE LISTE HTML de mes fichier mp3 pour que l'utilisateur n'es pas à parcourir X répertoires pour savoir ce qui s'y trouve.
en vous remerciant du temps consacrer et de votre aide
voilà mon premier post étant donner que je ne trouve pas de solution :
je cherche un script vbs ou batch permettant un listing de dossier et sous dossier ainsi que les fichier s'y trouvant et cela dans une page html.
j'ai un dossier AUDIO dont j'aimerai faire afficher dans un page html son contenue.
sachant que dans mon dossier AUDIO figure X sous dossier ex:
repertoire :AUDIO
sous repertoire :
rap
r&b
varieter
....
et dans ces sous repertoire figure également les repertoire des artiste en question
et pour finir les fichier .mp3
le but de la création voulu de cette liste en forma html
est que j'ai créer une petite application en vb permettant de se connecter à mon ftp
et j'aimerai y insérer CETTE LISTE HTML de mes fichier mp3 pour que l'utilisateur n'es pas à parcourir X répertoires pour savoir ce qui s'y trouve.
en vous remerciant du temps consacrer et de votre aide
A voir également:
- Vbs cherche script liste dossier sous dossier
- Dossier appdata - Guide
- Liste déroulante excel - Guide
- Impossible de supprimer un dossier - Guide
- Mettre un mot de passe sur un dossier - Guide
- Dossier rar - Guide
1 réponse
Bonjour,
Je ne suis pas expert pour pousser le resultat de cette recherche
sur une page html. Toutefois, si tu peut adapter ce script, celui-ci
fais ce que tu damande mais pousse l'information dans un fichier Excel.
C'est un début ...
Une fois en Excel tu pourra toujours sauvegarder le fichier en HTML.
Cdt
Info
Je ne suis pas expert pour pousser le resultat de cette recherche
sur une page html. Toutefois, si tu peut adapter ce script, celui-ci
fais ce que tu damande mais pousse l'information dans un fichier Excel.
C'est un début ...
'==============================================================================================
'
' Fichier Source VBScript
'
' NOM DU FICHIER : <ARBORESCENCE_Sous_EXCEL.VBS>
'
' AUTEUR : Michel Blais
' DATE DE CRÉATION : 2002-11-05
' DATE DE MODIFICATION : 2008-04-20
' Version 3.2
'
' COMMENT: <Compiler dans un fichier EXCEL toutes les informations
' des fichiers d'un lecteur et/ou d'un répertoire cible
'(Ligne 14)====================================================================================
'
'Accèss au dossier d'un disque
'
Const cteCache = "Caché"
Const cteSysteme = "Système"
Const cteArchive = "cteArchive"
Const cteLecture = "cteLecture_Seulement"
Const cteRaccourci = "cteRaccourci"
Const cteCompresse = "Compressé"
Const ctePlgFitGlobale = "A1:P1"
'
'(Ligne 26)====================================================================================
'
' Déclaration des variables globales du programme
'
Dim oLecteur 'ObjetLecteurDeDisque
Dim oRepertoire 'ObjetRépertoire
Dim oFS 'ObjetFileSystem (Objet du système de fichier)
Dim sOutput 'Variable d'écriture
Dim oInfoLecteur 'Variable d'information sur le lecteur courant
Dim oInfoFichier 'Variable d'information sur le fichier courant
Dim Lecteur 'Variable du lecteur à lire
Dim Disque 'Variable du lecteur à écrire
Dim Fichier 'Variable du fichier de sortie
Dim Flag 'Drapeau (logique)
Dim msgTexte 'Variable de message à l'usager
Dim lngTexte 'Variable de la longueur d'une chaine de caractères
Dim Dossier 'Variable chaine du dossier de départ
Dim DonneesValide 'Variable de la valeur des saisies
'
'(Ligne 45)====================================================================================
'
' Déclaration des variables globales du classeur EXCEL
'
Dim xlApp, xlBook, xlChart, xlRange 'Objets classeur
Dim xlWhs, iRows, iCols, iRotate 'Objets feuille
'
'(Ligne 52)====================================================================================
' Debut du programme
'
'Sub Main()' (Attention, le label n'exite pas en VBS)
DonneesValide = CaptureEntree(Fichier,Lecteur,Dossier)
If ( DonneesValide ) Then
' Création de l'objet Excel (une classe)
Set oFS = CreateObject("Scripting.FileSystemObject")
Set xlApp = CreateObject("Excel.Application")
' Vérification de la présence du classeur
If (FichierExistant(Fichier) = True) Then
' Ouverture du classeur
Set xlBook = xlApp.Workbooks.Open(Fichier)
Flag = True
Else
' Création du classeur
xlApp.SheetsInNewWorkbook = 1
Set xlBook = xlApp.Workbooks.Add
End If
' Positionnement à l'intérieur du classeur
Set xlWKS = xlBook.Worksheets(1)
Set xlRange = xlWKS.Range("A1:A65535")
' Capture de la lettre du lecteur à écrire
Disque = Mid(Fichier, 1, 2)
Set oLecteur = oFS.GetDrive(Disque)
If (oLecteur.IsReady) Then
' Capture de la lettre du lecteur à lire
Set oLecteur = oFS.GetDrive(Lecteur)
If (oLecteur.IsReady) Then
Call Principal(Fichier)
Else
EnvoiMessage (0)
End If
Else
EnvoiMessage (0)
End If
End if
'
WScript.Quit(0)
'End Sub (Le label n'exite pas en VBS) Fin de Programme
'
'(Ligne 94)====================================================================================
'
Function CaptureEntree(ByRef FichierCE, ByRef LecteurCE, ByRef DossierCE)
On Error Resume next
Flag = False
FichierCE = ""
msgTexte = msgTexte & "Attention!" & vbCrLf & vbCrLf
msgTexte = msgTexte & "Le programme ne gère pas les erreurs!" & vbCrLf & vbCrLf & vbCrLf
msgTexte = "Entrez le nom du fichier : " & vbCrLf & "(ex.: C:\Infofile.xls)"
FichierCE = InputBox(msgTexte, "Saisie du fichier à créer", "C:\Info.xls")
If ( len(FichierCE) > 7 ) Then
LecteurCE = ""
LecteurCE = InputBox("Entrez la lettre du lecteur à lire :", "Saisie du lecteur à lire", "C")
If ( Len(LecteurCE) = 1 ) Then
DossierCE = ""
DossierCE = InputBox("Entrez le dossier cible du lecteur à lire :", "Saisie du dossier à lire", "\TEMP")
If ( len(DossierCE) > 1 ) Then
CaptureEntree = True
Else
DossierCE = ""
CaptureEntree = true
End If
Else
CaptureEntree = False
End If
Else
CaptureEntree = False
End if
End Function
'
'(Ligne 128)===================================================================================
'
Sub Principal(ByVal NomFichier)
Dim Plage
Dim Valeur
Dim Boucle
On Error Resume Next
' Création de l'En-tête du fichier Excel
Call CreationEnTete
'Placement d'Excel en arrière plan!
xlApp.WindowState = xlMinimized
xlApp.ScreenUpdating = False
If (oLecteur.IsReady) Then
If (Dossier <> "") Then
'cteLecture à partir du sous-répertoire cible
Set oRepertoire = oFS.GetFolder(Lecteur & ":" & Dossier)
xlApp.Visible = True
xlWKS.Activate
xlRange.Cells(1, 1).Select
Call ListeFichier(oRepertoire) ' Routine récursive
Else
'cteLecture des fichiers dans la racine du lecteur
If (oLecteur.RootFolder.Files.Count > 0) Then
For Each oFichier In oLecteur.RootFolder.Files
InsertionDonnees (oFichier)
Next
End If
'cteLecture des sous-répertoires dans le lecteur
For Each oRepertoire In oLecteur.RootFolder.SubFolders
xlApp.Visible = True
xlWKS.Activate
xlRange.Cells(1, 1).Select
Call ListeFichier(oRepertoire) ' Routine récursive
Next
End If
End If
MiseEnforme
'Placement d'Excel en avant plan!
xlApp.ScreenUpdating = True
xlApp.WindowState = xlMaximized
xlRange.Columns("A:A").EntireColumn.AutoFit
xlRange.Columns("E:G").EntireColumn.AutoFit
'Fermeture du fichier Excel
Call FermetureExcel()
WScript.echo "Merci de votre patience." & vbLf & vbLf & "Michel Blais" & vbLf & _
"Électrotechnicien/Informatique" & vbLf & vbLf & "Fin de traitement :-) "
End Sub
'
'(Ligne 182)===================================================================================
'
Function FichierExistant(NomFichier)
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
FichierExistant = fso.FileExists(NomFichier)
Set fso = Nothing
End Function
'
'(Ligne 194)===================================================================================
'
Function EnvoiMessage(ByVal Chiffre)
Select Case Chiffre
Case 0: msgTexte = "Lecteur non disponible !"
Case 1: msgTexte = "Disponible !"
Case 2: msgTexte = "Disponible !"
Case 3: msgTexte = "Disponible !"
Case 4: msgTexte = "Disponible !"
Case 5: msgTexte = "Disponible !"
Case 6: msgTexte = "Disponible !"
Case Else: msgTexte = "Code d'erreur inexistant !"
End Select
Wscript.Echo msgTexte
End Function
'
'(Ligne 213)===================================================================================
'
Sub ListeFichier(ByVal oRepertoire) ' Routine récursive
Dim oDossier
On Error Resume Next
If (oRepertoire.Files.Count > 0) Then
For Each oFichier In oRepertoire.Files
InsertionDonnees (oFichier)
Next
End If
If (oRepertoire.SubFolders.Count > 0) Then
For Each oDossier In oRepertoire.SubFolders
Call ListeFichier(oDossier)
Next
End If
End Sub
'
'(Ligne 235)===================================================================================
'
Function ChercheAttributs(ByVal oFichier, ByVal Validation, ByRef Repons)
On Error Resume Next
Repons = "Aucun"
Select Case (Validation)
Case (cteLecture):
If (oFichier.Attributes And 1) Then
Repons = "Activer" 'Read-only = VRAI
Else
Repons = "Désactiver" 'Read-only = FAUX
End If
Case (cteCache):
If (oFichier.Attributes And 2) Then
Repons = "Activer" 'Hidden file = VRAI
Else
Repons = "Désactiver" 'Hidden file = FAUX
End If
Case (cteSysteme):
If (oFichier.Attributes And 4) Then
Repons = "Activer" 'System file = VRAI
Else
Repons = "Désactiver" 'System file = FAUX
End If
Case (cteArchive):
If (oFichier.Attributes And 32) Then
Repons = "Activer" 'cteArchive bit = VRAI
Else
Repons = "Désactiver" 'cteArchive bit = FAUX
End If
Case (cteRaccourci):
If (oFichier.Attributes And 64) Then
Repons = "Activer" 'ShortCut = VRAI
Else
Repons = "Désactiver" 'ShortCut = FAUX
End If
Case (cteCompresse):
If (oFichier.Attributes And 2048) Then
Repons = "Activer" 'cteCompressed file = VRAI
Else
Repons = "Désactiver" 'cteCompressed file = FAUX
End If
Case Else: Repons = "Aucun"
End Select
End Function
'
'(Ligne 292)===================================================================================
'
Function CreationEnTete()
Dim Valeur
Dim Boucle
On Error Resume Next
If (Flag = False) Then
'Création de l'en-tête du fichier EXCEL
xlRange.Cells(1, 1).Value = "Nom Fichier"
xlRange.Cells(1, 2).Value = "Type Fichier"
xlRange.Cells(1, 3).Value = "Grandeur"
xlRange.Cells(1, 4).Value = "Chemin d'accès"
xlRange.Cells(1, 5).Value = "Date Créé"
xlRange.Cells(1, 6).Value = "Date Accédé"
xlRange.Cells(1, 7).Value = "Date Modifié"
xlRange.Cells(1, 8).Value = "Nom cours"
xlRange.Cells(1, 9).Value = "Chemin cours"
xlRange.Cells(1, 10).Value = "Version"
xlRange.Cells(1, 11).Value = "Attr Caché"
xlRange.Cells(1, 12).Value = "Attr Système"
xlRange.Cells(1, 13).Value = "Attr Archive"
xlRange.Cells(1, 14).Value = "Attr Lecture seule"
xlRange.Cells(1, 15).Value = "Attr Raccourci"
xlRange.Cells(1, 16).Value = "Attr compressé"
' Dans Sub MiseEnForme la plage est ("A1:P1")
' Défini par la constante ctePlgFitGlobale
iRows = 2
Else
Boucle = 1
Valeur = xlRange.Cells(1, 1).Value
While (Valeur <> "")
Boucle = (Boucle + 1)
Valeur = xlRange(Boucle, 1)
Wend
iRows = Boucle
End If
End Function
'
'(Ligne 334)===================================================================================
'
Function MiseEnForme()
xlRange.Columns(ctePlgFitGlobale).EntireColumn.AutoFit
xlRange("A2").Select
End Function
'
'(Ligne 343)===================================================================================
'
Function InsertionDonnees(ByVal CeFichier)
On Error Resume Next
Dim Reponse
xlRange.Cells(iRows, 1).Value = CeFichier.Name
xlRange.Cells(iRows, 2).Value = CeFichier.Type
xlRange.Cells(iRows, 3).Value = CeFichier.Size
xlRange.Cells(iRows, 4).Value = CeFichier.Path
xlRange.Cells(iRows, 5).Value = CeFichier.DateCreated
xlRange.Cells(iRows, 6).Value = CeFichier.DateLastAccessed
xlRange.Cells(iRows, 7).Value = CeFichier.DateLastModified
xlRange.Cells(iRows, 8).Value = CeFichier.ShortName
xlRange.Cells(iRows, 9).Value = CeFichier.ShortPath
xlRange.Cells(iRows, 10).Value = ChercheVersion(CeFichier.Name)
Call ChercheAttributs(CeFichier, cteCache, Reponse)
xlRange.Cells(iRows, 11).Value = Reponse
Call ChercheAttributs(CeFichier, cteSysteme, Reponse)
xlRange.Cells(iRows, 12).Value = Reponse
Call ChercheAttributs(CeFichier, cteArchive, Reponse)
xlRange.Cells(iRows, 13).Value = Reponse
Call ChercheAttributs(CeFichier, cteLecture, Reponse)
xlRange.Cells(iRows, 14).Value = Reponse
Call ChercheAttributs(CeFichier, cteRaccourci, Reponse)
xlRange.Cells(iRows, 15).Value = Reponse
Call ChercheAttributs(CeFichier, cteCompresse, Reponse)
xlRange.Cells(iRows, 16).Value = Reponse
iRows = (iRows + 1)
If (iRows > 65534) Then
xlApp.ActiveWorkbook.Worksheets.Add
Set xlWKS = xlBook.Worksheets(1)
Set xlRange = xlWKS.Range("A1:A65535")
iRows = 2
End If
End Function
'
'(Ligne 385)===================================================================================
'
Function FermetureExcel()
xlApp.Visible = True
xlWKS.Activate
xlRange.Cells(1, 1).Select
xlApp.DisplayAlerts = False
xlBook.SaveAs Fichier
xlApp.Quit
xlApp.DisplayAlerts = True
Set xlRange = Nothing
Set xlChart = Nothing
Set xlWKS = Nothing
Set xlBook = Nothing
Set xlApp = Nothing
iRows = 0
iCols = 0
End Function
'
Une fois en Excel tu pourra toujours sauvegarder le fichier en HTML.
Cdt
Info