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

VBScript Discussion :

Erreur dans vbscript : caractère incorrect


Sujet :

VBScript

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 41
    Points : 36
    Points
    36
    Par défaut Erreur dans vbscript : caractère incorrect
    Bonsoir,
    J'ai un soucis avec un script vbs que j'ai modifié un peu. Il permet de renommer une interface réseau. A l'origine, le nom de l'interface a renommer était écrite en dur dans le script mais moi j'y ai rajouté une variable. Lorsque mon script est écrit au clavier il marche. le script qui marche :
    __________________________________________
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Const NETWORK_CONNECTIONS = &H31&
    Dim nomConnexion
     
    nomConnexion="Connexion au réseau local 4"
     
    Set objShell = CreateObject("Shell.Application")
    Set objFolder = objShell.Namespace(NETWORK_CONNECTIONS)
     
    Set colItems = objFolder.Items
    For Each objItem in colItems
    If objItem.Name = nomConnexion Then
    objItem.Name = "LAN"
    End If
    Next
    _________________________________________

    En outre, j'attribue le contenu de la variable nomConnexion par code C#.net dans une appli windowsforms. Je lis le fichier originel à l'aide d'un streamreader et je copie a l'aide de streamwriter mais pour la ligne "nomConnexion=" c'est une variable dans mon appli qui complète la ligne.
    Le fichier s'écrit bien mais quand je l'exécute j'ai une erreur vbscript "caractère incorrect à la ligne 1 colonne 1"
    Je ne sais pas pourquoi?

    Merci de votre aide, je vous met les autres codes.

    mekongboy

    Script dans lequel je lis à l'aide de streamreader :
    _____________________________________
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Const NETWORK_CONNECTIONS = &H31&
    Dim nomConnexion
     
    nomConnexion=
     
    Set objShell = CreateObject("Shell.Application")
    Set objFolder = objShell.Namespace(NETWORK_CONNECTIONS)
     
    Set colItems = objFolder.Items
    For Each objItem in colItems
    If objItem.Name = nomConnexion Then
    objItem.Name = "LAN"
    End If
    Next
    _________________________________________
    Mon code C# qui lit et écrit dans le fichier :
    __________________________________
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
                    StreamWriter sw = null;
                    StreamReader sr = null;
                    String ligne = null;
     
                    sr = new StreamReader("renommer.vbs");
                    sw = new StreamWriter(nomFichier);
                    ligne = sr.ReadLine();
                    // je parcours tout le fichier
                    while (ligne != null)
                    {
                        // si la ligne commence par nomConnexion
                        if (ligne.StartsWith("nomConnexion="))
                        {
                        // j'ajoute à ligne le nom de ma connexion réseau que
                        j'ai saisi dans une textbox
                            ligne = ligne + "\"" + nomReseau + "\"";
                        }
                        // j'ajoute la ligne au fichier
                        sw.WriteLine(ligne);
                        ligne = sr.ReadLine();
                    }

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    ... c'est pas plutôt un probléme C# ...... il est comment le fichier généré en C#..? tu la comparé à ton fichier vbs initial..?

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 41
    Points : 36
    Points
    36
    Par défaut
    Salut,
    J'ai comparé les 2 il est exactement identique c'est ça le problème qui fait que je ne comprend pas. J'écris dans mon fichier avec streamwriter. Ne serait-ce pas un problème d'encodage windows/dos?

    mekongboy

  4. #4
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    Citation Envoyé par mekongboy
    Salut,
    J'ai comparé les 2 il est exactement identique c'est ça le problème qui fait que je ne comprend pas. J'écris dans mon fichier avec streamwriter. Ne serait-ce pas un problème d'encodage windows/dos?

    mekongboy
    c'est bien ce que je dis ... streamwriter tu ne l'utilise pas en vbs..!

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 41
    Points : 36
    Points
    36
    Par défaut
    salut,
    je viens de faire des tests qui confirme ton dernier message.
    Je n'ai plus d'erreur caractère incorrect mais le script généré par C# ne marche pas alors que celui saisi ds le bloc note marche...

    Il y a un autre moyen d'écrire dans un fichier avec que mon vbs soit généré par C#?

    mekongboy

  6. #6
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    Citation Envoyé par mekongboy
    ...

    Il y a un autre moyen d'écrire dans un fichier avec que mon vbs soit généré par C#?

    ...
    ?


    sinon, ben vu qu'on sait pas d'ou tu sort ton NomReseau ... on as du mal à comprendre ce que viens faire ici ce morceau de code C# ?

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 41
    Points : 36
    Points
    36
    Par défaut
    Salut,
    J'ai résolu le problème. J'ai cherché sur le net une fonction pour convertir du UTF8 en ANSI. Je génère mon vbs avec streamwriter et ensuite je le convertis en ANSI avec cette fonction et ca marche impecable.

    mekongboy

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

Discussions similaires

  1. Réponses: 16
    Dernier message: 15/09/2014, 10h46
  2. VBscript erreur dans un programme VB6
    Par mikel57 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 05/07/2012, 11h33
  3. Réponses: 1
    Dernier message: 18/02/2009, 15h31
  4. Caractère provoquant une erreur dans une requête
    Par defluc dans le forum Firebird
    Réponses: 4
    Dernier message: 04/02/2008, 12h14
  5. [XSL] Caractère incorrect dans un fichier XML
    Par nicobest dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 05/09/2005, 14h06

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