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 :

VBS - erreur incompréhensible


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Urbaniste
    Inscrit en
    Février 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2014
    Messages : 3
    Par défaut VBS - erreur incompréhensible
    Bonjour!
    Alors, aujourd'hui je me suis éloigné du java et ai fait un peu de VBS.
    Mais, avec ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Dim fso
    Set fso = CreateObject("Scripting.FileSystemObject")
    fso.CopyFile "‪‪C:\Temp\test.txt", "‪C:\Temp\copie\", True
    j'obtiens cette erreur:
    http://imgur.com/6YCWd2r
    Et pourtant tous les liens sont exactes.
    Merci d'avance!

  2. #2
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 420
    Par défaut
    Il y a des caractères non valides dans les chemins source et destination (caractères unicode)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim fso
    Set fso = CreateObject("Scripting.FileSystemObject")
    fso.CopyFile "‪‪C:\Temp\test.txt", "‪C:\Temp\copie\", True
    La solution est ce
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim fso
    Set fso = CreateObject("Scripting.FileSystemObject")
    fso.CopyFile "C:\Temp\test.txt", "C:\Temp\copie\", True
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Urbaniste
    Inscrit en
    Février 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2014
    Messages : 3
    Par défaut
    Merci beaucoup!!

  4. #4
    Expert confirmé
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 844
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 844
    Par défaut

    Vérifiez bien aussi le type d'encodage, car peut-être c'est la cause de l'apparition de ces caractères bizarres
    Voici une petite fonction avec une petite gestion d'erreurs :
    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
    16
    17
    18
    19
    20
    Source = "C:\Temp\test.txt"
    Destination = "C:\Temp\copie\"
    Call Copier(Source,Destination)
     
    Sub Copier(Source,Destination)
        On error resume next
        Dim fso
        Set fso = CreateObject("Scripting.FileSystemObject")
        fso.CopyFile Source,Destination,True
        If Err Then
            MsgBox Err.Description,16,"ERREUR DE COPIE !"
        Else
            MsgBox "Le fichier " & DblQuote(Source) & " a été bien copié dans " & VbCrLF &_
            DblQuote(Destination),64,"Copie effectuée avec succès !"
        end if
    End Sub
     
    Function DblQuote(Str)
        DblQuote = Chr(34) & Str & Chr(34)
    End Function

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Urbaniste
    Inscrit en
    Février 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2014
    Messages : 3
    Par défaut
    Déjà, merci pour cette gestion d'erreur!
    Sinon, j'ai juste fait ça, c'est plus pratique:
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    Source = ""
    SrcIncomp = "C:\Temp\"
    Destination = "C:\Temp\copie\"
     
    aCopier = InputBox("Entrez le type de fichiers à copier", "Type de fichier")
    Source = "" & SrcIncomp & aCopier
     
    Call Copier(Source,Destination)
     
    Sub Copier(Source,Destination)
        On error resume next
        Dim fso
        Set fso = CreateObject("Scripting.FileSystemObject")
        fso.CopyFile Source,Destination,True
        If Err Then
            MsgBox Err.Description,16,"ERREUR DE COPIE !"
        Else
            MsgBox "Le fichier " & DblQuote(Source) & " a été bien copié dans " & VbCrLF &_
            DblQuote(Destination),64,"Copie effectuée avec succès !"
        end if
    End Sub
     
    Function DblQuote(Str)
        DblQuote = Chr(34) & Str & Chr(34)
    End Function
    Et encore merci, j'ai envie de me facepalmer à cause de ces caractères...

  6. #6
    Expert confirmé
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 844
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 844
    Par défaut

    Voici une autre version qui remplace le inputbox par BrowseForFile
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    Option Explicit
    Dim Titre,Source,Destination,Question
    Titre = "Copier les fichiers © Hackoo 2014"
    Source = BrowseForFile()
    Destination = "C:\Temp\copie\"
    Question = MsgBox("Voulez-vous copier "& VbCrLF & DblQuote(Source) & VbCrLF &_
     "dans ce dossier " & DblQuote(Destination) & " ?" & VbCrLF & VbCrLF &_
     "Si Oui, alors cliquez sur [OUI]"& VbCrLF &_
     "Si non, alors cliquez sur [NON]",VBYesNO+VbQuestion,Titre)
     If Question = VbYes then
        Call Copier(Source,Destination)
     else
        WScript.Quit
     End if
    '***************************************************************************************
    Sub Copier(Source,Destination)
        On error resume next
        Dim fso
        Set fso = CreateObject("Scripting.FileSystemObject")
        fso.CopyFile Source,Destination,True
        If Err Then
            MsgBox Err.Description,16,"ERREUR DE COPIE !"
        Else
            MsgBox "Le fichier " & DblQuote(Source) & " a été bien copié dans ce dossier " & VbCrLF &_
            DblQuote(Destination),64, Titre +" ===> Copie effectuée avec succès "
        end if
    End Sub
    '***************************************************************************************
    Function DblQuote(Str)
        DblQuote = Chr(34) & Str & Chr(34)
    End Function
    '***************************************************************************************
    Function BrowseForFile()
        Dim shell : Set shell = CreateObject("WScript.Shell")
        Dim fso : Set fso = CreateObject("Scripting.FileSystemObject")
        Dim tempFolder : Set tempFolder = fso.GetSpecialFolder(2)
        Dim tempName : tempName = fso.GetTempName()
        Dim tempFile : Set tempFile = tempFolder.CreateTextFile(tempName & ".hta")
        tempFile.Write _
        "<html>" & _
        "    <head>" & _
        "        <title>Browse</title>" & _
        "    </head>" & _
        "    <body>" & _
        "        <input type='file' id='f'>" & _
        "        <script type='text/javascript'>" & _
        "            var f = document.getElementById('f');" & _
        "            f.click();" & _
        "            var shell = new ActiveXObject('WScript.Shell');" & _
        "            shell.RegWrite('HKEY_CURRENT_USER\\Volatile Environment\\MsgResp" & tempName & _
        "', f.value);" & _
        "            window.close();" & _
        "        </script>" & _
        "    </body>" & _
        "</html>"
        tempFile.Close
        shell.Run tempFolder & "\" & tempName & ".hta",0,True
        BrowseForFile = shell.RegRead("HKEY_CURRENT_USER\Volatile Environment\MsgResp" & tempName)
        shell.RegDelete "HKEY_CURRENT_USER\Volatile Environment\MsgResp" & tempName
        fso.DeleteFile(tempFolder & "\" & tempName & ".hta")
    End Function
    '***************************************************************************************

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

Discussions similaires

  1. [2.1][jdk1.3][Junit] Erreur incompréhensible!
    Par Sniper37 dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 29/04/2005, 19h03
  2. Erreur incompréhensible à la ligne 200 (sur 190 ?!)
    Par transistor49 dans le forum Qt
    Réponses: 3
    Dernier message: 22/03/2005, 23h09
  3. [Fichiers] Erreur incompréhensible
    Par Clorish dans le forum Langage
    Réponses: 5
    Dernier message: 14/12/2004, 17h18
  4. [VBS] Erreur sur "AddWindowsPrinterConnection"
    Par Admin dans le forum VBScript
    Réponses: 5
    Dernier message: 27/03/2004, 16h15
  5. [JSP] Erreur incompréhensible
    Par xxaragornxx dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 09/09/2003, 16h37

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