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

Scripts/Batch Discussion :

Traitement fichier txt


Sujet :

Scripts/Batch

  1. #1
    Candidat au Club
    Homme Profil pro
    Ingénieur de déploiement réseaux
    Inscrit en
    août 2014
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur de déploiement réseaux
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2014
    Messages : 1
    Points : 2
    Points
    2
    Par défaut Traitement fichier txt
    Bonsoir à tous,

    si vous me permettez, j'ai besoin de votre aide, je suis débutant sur le développement BATCH et j'ai besoin de vous pour m'éclairer dans ce domaine.

    Pour la tâche que je veux réaliser, c'est de traiter un fichier txt avec plusieurs lignes par exemple :

    a a a aaaaaa
    bbbbbb b bbb
    cccc c c c c ccccc

    la première des choses , est de vérifier que toutes les lignes contiennent 129 caractères avec les espaces (un espace = un caractère)
    et aussi vérifier si le fichier contient une ligne vide à la fin.

    si le fichier est bien structuré je veux avoir un fichier résultat comme :

    fichier1.txt OK
    fichier2.txt OK
    fichier3.txt OK
    fichier4.txt ERREUR
    .
    .

    sachant que le script va être exécuté sur plusieurs fichiers en même temps

    voila , est ce que je peux avoir ce résultat avec un batch windows ?


    merci bcp

  2. #2
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    juin 2009
    Messages
    3 731
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : juin 2009
    Messages : 3 731
    Points : 9 021
    Points
    9 021
    Par défaut

    Peut-être une solution en Vbscript
    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
    78
    Option Explicit
    Dim Data,fso,Ws,bWrite,File,LogFile,Line,Lines,Copyright,Titre
    Titre = "Traitement des fichiers de type texte"
    Copyright = " © Hackoo 2014"
    Set Ws = CreateObject("wscript.Shell")
    Set fso = CreateObject("Scripting.FileSystemObject")
    LogFile = Left(Wscript.ScriptFullName,InstrRev(Wscript.ScriptFullName, ".")) & "txt"
    If fso.FileExists(LogFile) Then 
        fso.DeleteFile LogFile
    end If
    For each File in FSO.GetFolder(Parcourir_Dossier()).Files 
        If UCase(fso.GetExtensionName(File)) = "TXT" Then
            Data = ReadFileText(File)
            bWrite = False
            Lines = Split(Data,vbCrLf)
            For Each Line In Lines
                If Len(Line) <> 129 And Not Line = "" Then
                    bWrite = False
                    Exit For
                Else
                    If Len(Line) = 129 And Not Line = "" Then
                        bWrite = True 
                    End if
                End if
            Next
            If bWrite = True Then
                WriteLog DblQuote(File.Name) & " ==> est OK",LogFile
            Else
                WriteLog DblQuote(File.Name) & " ==> ERREUR ",LogFile
            End if    
        End if
    Next
    If fso.FileExists(LogFile) Then 
        ws.Run LogFile,1,False
    Else
        Ws.popup "Il n'y a aucun fichier de type texte dans ce dossier ","3",Titre & Copyright,VbCritical
        Wscript.Quit
    end If
    '****************************************************************************************************
    Function Parcourir_Dossier()
        Dim objShell,objFolder
        Set objShell = CreateObject("Shell.Application")
        Set objFolder = objShell.BrowseForFolder(0,"Veuillez choisir un dossier pour le traitement des fichiers de type texte "& Copyright,1,"c:\Programs")
        If objFolder Is Nothing Then
            Wscript.Quit
        End If
        Parcourir_Dossier = objFolder.self.path
    end Function
    '************************************************************************************************
    Function ReadFileText(sFile)
        Dim objFSO,oTS,sText
        Set objFSO = CreateObject("Scripting.FileSystemObject")
        If Not objFSO.FileExists(sFile) Then
            MsgBox "ERREUR CRITIQUE " & VbCrLF & "Le fichier "& DblQuote(sFile) & " n'existes pas !",VbCritical,"ERREUR CRITIQUE"
            Wscript.Quit
        Else
            Set oTS = objFSO.OpenTextFile(sFile)
            sText = oTS.ReadAll
            oTS.close
            set oTS = nothing
            Set objFSO = nothing
            ReadFileText = sText
        End if
    End Function 
    '***********************************************************************************************
    Sub WriteLog(strText,LogFile)
        Dim fs,ts 
        Const ForAppending = 8
        Set fs = CreateObject("Scripting.FileSystemObject")
        Set ts = fs.OpenTextFile(LogFile,ForAppending,True)
        ts.WriteLine strText
        ts.Close
    End Sub
    '************************************************************************************************
    Function DblQuote(Str)
        DblQuote = Chr(34) & Str & Chr(34)
    End Function
    '**********************************************************************************************

Discussions similaires

  1. traitement fichier .txt
    Par steven78700 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 12
    Dernier message: 15/02/2011, 05h53
  2. [PERL]: Help script traitement fichier txt tabulaire
    Par Piccolupo13 dans le forum Langage
    Réponses: 2
    Dernier message: 21/08/2007, 20h37
  3. [CSV] Traitement fichiers txt/csv avec php
    Par cirtey dans le forum Langage
    Réponses: 4
    Dernier message: 26/01/2007, 16h46
  4. Traitement fichier .txt (gestion des '','')
    Par clemasson dans le forum Access
    Réponses: 1
    Dernier message: 11/12/2006, 15h26
  5. Optimiser traitement fichier [.txt]
    Par Metallic-84s dans le forum Langage
    Réponses: 14
    Dernier message: 16/03/2006, 13h33

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