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 :

Comparer une extension avec VBScript


Sujet :

VBScript

  1. #1
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Février 2008
    Messages : 73
    Points : 52
    Points
    52
    Par défaut Comparer une extension avec VBScript
    Bonjour !
    j'utilise cette méthode pour ne modifier que les fichiers avec les extensions .EDI mais elle ne fonctionne pas et je ne vois pas où est l'erreur...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    If (GetExtention(f2) = "edi") Then
            datejour = year(now()) & mois & day(now())
            partfic = split(f2.name,".")
            f2.name = datejour & partfic(0)& "_" & cpt & ".edi"
            cpt = cpt+1
            'f2.move("D:\Stepcom\OUT\"& f2.name)
     
    end if
    Merci d'avance !

  2. #2
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Février 2008
    Messages : 73
    Points : 52
    Points
    52
    Par défaut Petite précision !
    Ce n'est qu'un bout du code, tout le code marche à merveille sauf cette comparaison !

  3. #3
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Février 2008
    Messages : 73
    Points : 52
    Points
    52
    Par défaut Encore moi
    Désolé je suis complètement bête !
    J'utilise cette fonction et je ne la vous montre même pas
    voici tout le code :
    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
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    function GetFile (FileName)
      If FileName<>"" Then
            Dim FS, FileStream
            Set FS = CreateObject("Scripting.FileSystemObject")
            on error resume Next
            Set FileStream = FS.OpenTextFile(FileName)
            GetFile = FileStream.ReadAll
      End If
            End Function
    function GetExtension (File)
            Dim fso
            Set fso = CreateObject("Scripting.FileSystemObject")
            GetExtention = fso.GetExtensionName(File)
    end function
    '____________________________________________
    Dim fso, f, f1, sf, fc, file, nomfichier, cpt, oFso, fo,AncienCpt, diffCpt
    Const ForReading = 1, ForWriting = 2
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set f = fso.GetFolder("M:\VBS\test")
    Set fc = f.Files
    Set  f = fso.GetFolder(f)
    Set fc = f.Files
            Set oFso = CreateObject("Scripting.FileSystemObject")
            Set fo = oFso.OpenTextFile("M:\VBS\cpt.txt", ForReading)
            while Not fo.AtEndOfStream
                    'wscript.echo fo.ReadLine
                    cpt= fo.ReadLine
                    AncienCpt = cpt
                    'wscript.echo cpt ' affichage du cpt avant incrémentation
            Wend
               fo.Close ' je ferme le fichier et le reouvre en-bas
    For Each f2 in fc
                    file = f2    'lis un fichier txt
                    FileContents = GetFile(file)
            if Len(month(now())) = 1 then
                    mois = "0" & month ((now()))
                    'wscript.echo "le jour du mois est inférieur à 10"
            else
                    mois = month((now()))
            End if
     
     
            If (GetExtention(f2) = "edi") Then
            datejour = year(now()) & mois & day(now())
            partfic = split(f2.name,".")
            f2.name = datejour & partfic(0)& "_" & cpt & ".edi"
     
            cpt = cpt+1
     
            'f2.move("D:\Stepcom\OUT\"& f2.name)
     
           end if
     
     
     
     
    Next
       'wscript.echo "Terminé"
       diffCpt = cpt - AncienCpt
       'wscript.echo "la compteur a été incrémenté de : " & diffCpt & " points"
       'wscript.echo "Il vaut actuellement : " & cpt & " points"
       '-------------------------------------------------------------
           'déclaration file system object
    Dim x
     
    'instanciation
    Set x = CreateObject("Scripting.FileSystemObject")
     
    'on instance le fichier texte dans lequel on veut ecrire
    Set Ftxt =  x.createTextFile("M:\VBS\cpt.txt",true) 'true=ecrase
    Ftxt.writeline ("Le compteur est à :")
    Ftxt.writeline (cpt)
    Ftxt.Close
     
       ' FIN
       ' le fichier texte attaché et le "cpt.txt"
    '_________________________________________________________________

  4. #4
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Une erreur ? Si oui laquelle et la ligne de l'erreur.

    Pas d'erreur mais cela ne renomme pas les extensions ?
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  5. #5
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Février 2008
    Messages : 73
    Points : 52
    Points
    52
    Par défaut Version finale (code VBScript)
    Voilà ma version final...
    le code fonction parfaitement...

    - Il traite les fichiers avec extension ".EDI",
    - il les renommer avec la date système & leur nom & et un compteur
    - puis les déplace dans un autre répertoire.


    demain je vous ferais suivre le code.

    Bonne journée

  6. #6
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Février 2008
    Messages : 73
    Points : 52
    Points
    52
    Par défaut Version finale
    Bonjour !
    Boivi un petit bout de code pour ceux que ça intéresse !


    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
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    function GetFile (FileName)
      If FileName<>"" Then
            Dim FS, FileStream
            Set FS = CreateObject("Scripting.FileSystemObject")
            on error resume Next
            Set FileStream = FS.OpenTextFile(FileName)
            GetFile = FileStream.ReadAll
      End If
            End Function
    function GetExtention (File)
            Dim fso
            Set fso = CreateObject("Scripting.FileSystemObject")
            GetExtention = fso.GetExtensionName(File)
    end function
    '____________________________________________
    Dim fso, f, f1, sf, fc, file, nomfichier, cpt, oFso, fo,AncienCpt, diffCpt
    Const ForReading = 1, ForWriting = 2
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set f = fso.GetFolder("M:\VBS\test")
    Set fc = f.Files
    Set  f = fso.GetFolder(f)
    Set fc = f.Files
            Set oFso = CreateObject("Scripting.FileSystemObject")
            Set fo = oFso.OpenTextFile("M:\VBS\cpt.txt", ForReading)
            while Not fo.AtEndOfStream
                    'wscript.echo fo.ReadLine
                    cpt= fo.ReadLine
                    AncienCpt = cpt
                    'wscript.echo cpt ' affichage du cpt avant incrémentation
            Wend
               fo.Close ' je ferme le fichier et le reouvre en-bas
    For Each f2 in fc
                    file = f2    'lis un fichier txt
                    FileContents = GetFile(file)
            if Len(month(now())) = 1 then
                    mois = "0" & month ((now()))
                    'wscript.echo "le jour du mois est inférieur à 10"
            else
                    mois = month((now()))
            End if
     
     
            If (GetExtention(f2) = "edi") Then
     
            partfic = split(f2.name,".")
            datejour = year(now()) & mois & day(now())
            f2.name = datejour & partfic(0)& "_" & cpt & ".edi"
            cpt = cpt+1
            'f2.move("D:\Stepcom\OUT\"& f2.name)
     
           end if
     
     
     
     
    Next
       'wscript.echo "Terminé"
       diffCpt = cpt - AncienCpt
       'wscript.echo "la compteur a été incrémenté de : " & diffCpt & " points"
       'wscript.echo "Il vaut actuellement : " & cpt & " points"
       '-------------------------------------------------------------
           'déclaration file system object
    Dim x
     
    'instanciation
    Set x = CreateObject("Scripting.FileSystemObject")
     
    'on instance le fichier texte dans lequel on veut ecrire
    Set Ftxt =  x.createTextFile("M:\VBS\cpt.txt",true) 'true=ecrase
    Ftxt.writeline ("Le compteur est à :")
    Ftxt.writeline (cpt)
    Ftxt.Close
     
       ' FIN
       ' le fichier texte attaché et le "cpt.txt"
    '_________________________________________________________________
    a++

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

Discussions similaires

  1. test:comparer une valeur avec plusieurs valeurs
    Par kkkkkk dans le forum Struts 1
    Réponses: 3
    Dernier message: 24/06/2007, 21h25
  2. Réponses: 6
    Dernier message: 02/06/2007, 01h07
  3. [Dates] Comparer une variable avec 2 éléments
    Par oceane751 dans le forum Langage
    Réponses: 14
    Dernier message: 07/01/2007, 17h54
  4. impossible de comparer une chaine avec use strict
    Par erc_fun dans le forum Langage
    Réponses: 6
    Dernier message: 05/10/2006, 10h56
  5. Charger une extension avec ini_set
    Par manaboko dans le forum Langage
    Réponses: 1
    Dernier message: 08/08/2006, 17h45

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