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 :

Shell + FileNotFound


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2011
    Messages : 94
    Par défaut Shell + FileNotFound
    Bonjour,

    J'ai un nouveau problème qui vient d'apparaître et malgré mes multiples recherches via google je ne trouve aucune réponse peut être parce que je n'utilise pas les bons mots clé.

    Voilà mon code qui bloque :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     Try
                Shell("netsh -c dhcp server 172.21.3.5 scope 193.50.231.0 dump > C:\..\configuraton.txt")
            Catch ex As Exception
                MsgBox(ex.ToString)
            End Try
            'Création de la base de données et remplissage de celle-ci à partir du résultat de la commande
            'en utilisant le stream StreamReader après formatage
            Try
                Dim StreamRead As StreamReader = File.OpenText("C:\..\configuraton.txt")
    Je précise que les .. sont présents car j'ai cache mes dossiers mais si c'est nécessaire je les remettrai bien sûr. Donc voilà à partir de là la commande à l'air de marcher mais le problème c'est que le fichier qui doit se créer bah ne se créer pas ce qui provoque l'exception System.Io.FileNotFound

    Je met aussi mes imports au cas ou j'ai oublié quelque chose :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Imports System.Diagnostics
    Imports System.IO
    Imports System.IO.IOException
    Imports System.Data
    Imports System.Data.OleDb
    Imports System.Data.SqlClient
    Imports Microsoft.VisualBasic
    Imports System.Data.Sql
    Merci d'avance

  2. #2
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    Est-ce que le processus que tu lances avec shell ne serait pas simplement encore en train de tourner ?

    Je vois dans l'aide que la fonction shell renvoie un integer qui est l'ID du processus.

    Il est évident que si le processus n'est pas terminé, ton fichier n'est pas encore créer. Du coup, en utilisant l'id du processus, il te faut vérifier si le processus tourne encore et attendre tant qu'il n'a pas fini.

    Voilà la logique à suivre. Pour ce qui est du code, ne l'ayant jamais fait, je ne peux pas encore t'aider. Mais je vais de ce pas faire quelques tests.

    Griftou.

    EDIT : Si je lis 2 lignes plus loin dans l'aide, je vois qu'il y a un paramètre nommé Wait de type Booléen qui indique à ton application si la fonction shell doit attendre que le processus soit terminé. C'est cela qu'il te faut utilisé. Ce nettement plus simple.

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2011
    Messages : 94
    Par défaut
    J'ai rajouté deux option : l'un pour voir la fenêtre de commande et la seconde option est le wait que je met donc à true mais j'obtiens toujours la même erreur

  4. #4
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    euh... Bête question... Es-tu sûr que tu obtiens l'erreur lorsque tu veux lire ton fichier ?

    Pcq je viens de faire un test en faisant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Shell("echo coucou > c:\test\test.txt", , True)
    Et j'obtiens une erreur FileNotFound sur cette ligne.

    Le problème vient donc p-e de ton shell également. (c'est cool, j'apprends des trucs en même temps, j'avais jamais utilisé shell avant ^^)

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2011
    Messages : 94
    Par défaut
    Arf j'avais pas penser ça pouvait venir de la fonction shell elle même. Je vais tenter de passer par la fonction Process

    Je viens de résoudre mon problème. En fait cela venait de la commande DOS que je voulais effectuer. En effet, j'ai testé cette commande sur un autre poste et j'obtenais le même fichier donc maintenant que j'ai trouvé il me faut débugger le reste.

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

Discussions similaires

  1. aides pour script en shell
    Par komatek dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 12/08/2003, 15h36
  2. [VB6] comment savoir si la commande shell est terminée ?
    Par ghyscharlotte dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 30/07/2003, 19h12
  3. Retour de requete postgresql / Shell Script
    Par doohan dans le forum Requêtes
    Réponses: 3
    Dernier message: 26/06/2003, 18h07
  4. [SHELL] Icônes associées à des fichiers
    Par agh dans le forum API, COM et SDKs
    Réponses: 5
    Dernier message: 09/04/2003, 17h04
  5. [Kylix] probleme pour lancer le shell
    Par miky dans le forum EDI
    Réponses: 5
    Dernier message: 13/08/2002, 09h39

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