2017-09-29 5 views
0

Je crois que c'est une question simple, j'espère que je ne me fâcherai pas. Ecrire un code pour trouver le nom de fichier text.txt dans le lecteur C.NET trouver le fichier dans tous les dossiers sous un répertoire

If IO.File.Exists("C:\text.txt") Then 

     MessageBox.Show("Found text file") 
    Else 

     MessageBox.Show("Not Found") 
End If 

"C: \ text.txt" ne peut être trouvée lorsqu'il est situé dans un sous-dossier. Quelle syntaxe devrait être utilisée pour cela?

J'ai trop dépensé mon temps pour trouver la solution, posant donc une question facile ici.

Merci!

+0

Si vous avez lu la documentation de 'File.Exists 'alors vous connaissez déjà la réponse. Si vous n'avez pas déjà lu la documentation, pourquoi n'avez-vous pas lu la documentation? Le menu Aide n'est pas en VS pour la décoration. Si vous souhaitez obtenir de l'aide sur un type ou une méthode, utilisez le menu Aide pour ouvrir la documentation de ce type ou de cette méthode. Ce n'est qu'après avoir fait cela que vous devriez envisager d'autres sources d'information si vous en avez besoin. – jmcilhinney

+0

Ceci est C# mais https://stackoverflow.com/questions/3994448/how-to-check-if-a-specific-file-exists-in-directory-or-any-of-its-subdirectories –

+0

@jmcilhinney Remerciements Pour vous répondre, j'ai lu le fichier File.Exists et il semble que pour trouver le fichier, il doit pointer vers l'emplacement exact (sous-dossier). Je suis toujours un débutant dans la programmation donc toujours pas très sûr de la meilleure façon de trouver la solution. – Tim

Répondre

4

Vous pouvez utiliser la méthode Directory.GetFiles (String, String, SearchOption) pour renvoyer les noms des fichiers (y compris leurs chemins d'accès) qui correspondent au modèle de recherche spécifié dans le répertoire spécifié, en utilisant une valeur pour déterminer si les sous-répertoires doivent être recherchés.

Par exemple:

If System.IO.Directory.GetFiles("C:\Users\You\Desktop", "file.txt", IO.SearchOption.AllDirectories).Length > 0 Then 
    MsgBox("Found!") 
Else 
    MsgBox("Not found!") 
End If 
+0

Salut, j'ai mis en œuvre votre suggestion Directory.GetFiles (@ "C: \", "text.txt", SearchOption.AllDirectories) il a donné une erreur sur "@" expression attendue. Une pensée à ce sujet? Merci! – Tim

+0

@Tim: Supprime le '@', il s'applique uniquement au code C#. –

+0

@VisualVincent Salut, il semble que le répertoire get ne peut pas entrer dans l'instruction if .... "1 dimension tableau de la chaîne ne peut pas être converti en booléen" ... S'il vous plaît éclairer moi. Merci. – Tim