Détecter extension de fichier dans un répertoire. [Résolu]

MacGaliver 149 Messages postés vendredi 28 mai 2010Date d'inscription 21 juillet 2013 Dernière intervention - 22 déc. 2010 à 13:17 - Dernière réponse : MacGaliver 149 Messages postés vendredi 28 mai 2010Date d'inscription 21 juillet 2013 Dernière intervention
- 23 déc. 2010 à 17:10
Bonjour,

Je voudrais dévelloper un widjet pour windows, mais je bloque.
En fait je voudrais qu'un mécanisme envoi une boite à dialogue quand celui détecte un fichier pour extension **** dans le repertoire ou racine ****.

> Fichier *.exe détecté sur racine C > alerte (ex: vbcritical)
ou

> Fichier *.exe détecté dans C:\MonDossier > alert (ex: vbcritical).

NOTE: J'ai essayé avec le code suivant sans succès:

Sub norep
 Dim fso, msg 
  Set fso = CreateObject("Scripting.FileSystemObject" ) 
  If (fso.FileExists("C:\*.bat" )) Then 
    MsgBox "Un fichier bat détecté sur la racine du lecteur C !",vbExclamation + vbOkOnly + vbApplicationModal + 0,"GADGET:" 
  Else 
    msg = "RAS." 
  End If
End Sub 


Merçi d'avance.
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 23 déc. 2010 à 14:01
3
Merci
normal, tu n'as pas assigné ton FSO...(faire un CreateObject Scripting.FileSystemObject, etc.)

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp

Merci Renfield 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 120 internautes ce mois-ci

Commenter la réponse de Renfield
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 22 déc. 2010 à 13:59
0
Merci
sur que le FileExists ne fonctionne pas...

c'est ecrit noir sur blanc dans la doc..

Wildcard characters (*, ?, and so on) are not supported.


voir propriété Files d'un objet Folder (obtenu via GetFolder)

te suffira alors pour chacun des fichiers énuméré de tester le nom, pour en connaitre l'extension.

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
Commenter la réponse de Renfield
MacGaliver 149 Messages postés vendredi 28 mai 2010Date d'inscription 21 juillet 2013 Dernière intervention - 22 déc. 2010 à 16:05
0
Merci
Re,

Le problème c'est que le widjet doit détecter si un ou des fichier(s) porte(nt) l'extension dans un dossier sans savoir le ou les nom(s) du ou des fichier(s).

Ex:

Il existe les fichiers suivants dans le dossier system32:
inetcpl.cpl
firewall.cpl
Mais le widjet ne connais pas les fichiers exitants (dû à une liste variante, système d'exploitation différents, ...).

En gros il faudrais traduire ce batch en VB:

if exist C:\Windows\system32\inetcpl.cpl goto alert
if exist C:\Windows\system32\firewall.cpl goto alert
if exist C:\Windows\system32\Settings.exe goto alert2
@exit
:alert
echo fichier CPL detecte dans le system32 !
if exist C:\Windows\system32\Settings.exe goto alert2
@exit
:alert2
echo fichier CPL detecte dans le system32 !
Commenter la réponse de MacGaliver
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 23 déc. 2010 à 07:56
0
Merci
je t'ai pourtant expliqué la marche à suivre...

itérer sur chaque entrée de la collection Files et tester le nom du fichier...

en gros, de tête :

For Each oFile in FSO.GetFolder("C:").Files
    If Right(oFile.Name, 4) = ".cpl" Then
     .... 
    End If
Next

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
Commenter la réponse de Renfield
MacGaliver 149 Messages postés vendredi 28 mai 2010Date d'inscription 21 juillet 2013 Dernière intervention - 23 déc. 2010 à 13:28
0
Merci
OK, merçi: je vais tester.
Commenter la réponse de MacGaliver
MacGaliver 149 Messages postés vendredi 28 mai 2010Date d'inscription 21 juillet 2013 Dernière intervention - 23 déc. 2010 à 13:57
0
Merci
J'ai testé comme suivant, mais il y a erreur:

Dim fso
Dim fso
For Each oFile in FSO.GetFolder("C:").Files
    If Right(oFile.Name, 4) = ".cpl" Then
    MsgBox "Un fichier cpl a detecte !",vbExclamation + vbOkOnly + vbApplicationModal + 0,"GADGET:" 
    End If
Next 
nrp()


...
Ligne: 2
Caract.: 1
Erreur: Objet requis: "
...
Commenter la réponse de MacGaliver
MacGaliver 149 Messages postés vendredi 28 mai 2010Date d'inscription 21 juillet 2013 Dernière intervention - 23 déc. 2010 à 17:10
0
Merci
Merçi beaucoup !

Au moins je me coucherais moins bête !

Encore une fois merçi: je suis content ^c un gosse !
Commenter la réponse de MacGaliver

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.