Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
[R] batch traitement fichier txt
Auteur Message
Répondre en citant
Message [R] batch traitement fichier txt 
Bonsoir a tous ,

si vous me permettez , j'ai besoin de votre aide , comme j'ai déjà signale sur mon premier topic , je suis débutent sur le développement BATCH et je suis besoin de vous pour m'éclairer dans ce domaine.

pour la tache que je veux réalisé , est de traite un fichier txt avec plusieur ligne par exemple :

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

la première des chose est de vérifier es que les ligne contiens 129 caractère avec les espaces (un espace = un caractère)
et aussi vérifie si le fichier contient une ligne vide a la fin.

si le fichier est bien structure je veut 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 fichier au même temps

voila , es que je peut avoir cette resultat avec un batch windows


merci bcp



Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message [R] batch traitement fichier txt 
bonjour ,

es que mon batch est difficile a ce point Sad



Répondre en citant
Message [R] batch traitement fichier txt 
Salut,

J'ai fais ça, mais y'a un problème au niveau des compteurs ... Si quelqu'un pouvait modif ça, sinon ça fonctionne !

Code:

::************************::
:: HELP_FORUM - BY ALONSO ::
:: VISIT WWW.BATCH.XOO.IT ::
::************************::
@ECHO OFF & COLOR 0A
Title Compteur d'erreurs dans fichiers (.txt) -- By AlonsO


:: Configurations

SET logs=logs.txt
rem Définit le fichier ou sera inscrit les logs [logs.txt par défault]

SET file=fichier.txt
rem Définit le fichier à analyser

rem Remet les compteurs à 0
SET compteur1=0
SET compteur2=0

:: Code
:START
if not exist %file% call:logs_error & goto:eof
for /f "delims=" %%i in ('type %file%') do (
set vrLine=%%i
for /r %%j in (%file%) do (
set VrCompt=%%~zj
set /a VrCompt-=2
if not !VrCompt!==129 call:erreur
if !VrCompt!==129 call:ok
)
)
call:LOGS & goto:eof
:OK
set /a compteur1+=1
goto:eof
:ERREUR
set /a compteur2+=1
goto:eof
:LOGS
echo --------------------------------  >> %logs%
echo             %file%                >> %logs%
echo --------------------------------  >> %logs%
echo --                                >> %logs%
echo -              %compteur1% OK     >> %logs%
echo -           %compteur2% ERREUR(S) >> %logs%
echo --                                >> %logs%
echo --------------------------------  >> %logs%
echo.  >> %logs%
goto:eof
:LOGS_ERROR
echo --------------------------------  >> %logs%
echo             %file%                >> %logs%
echo --------------------------------  >> %logs%
echo --                                >> %logs%
echo -         N'éxiste pas            >> %logs%
echo -    Vérifier le Code Source      >> %logs%
echo --                                >> %logs%
echo --------------------------------  >> %logs%
echo.  >> %logs%
goto:eof

:: Suite du code...


Pourtant, ce code fonctionne parfaitement...
Code:

@Title Tests_Command -- By AlonsO (www.batch.xoo.it)

:: Entrez vos commandes à tester ci-dessous

:: Setup
@echo off
SET logs=logs.txt
SET file=fichier.txt
SET compteur1=0
SET compteur2=0

:: Code
:START
set /p choice=1/2 (3=leave):
if %choice%==1 call:ok & goto start
if %choice%==2 call:erreur & goto start
if %choice%==3 call:logs & exit



:OK
set /a compteur1+=1
goto:eof
:ERREUR
set /a compteur2+=1
goto:eof
:LOGS
echo --------------------------------  >> %logs%
echo             %file%                >> %logs%
echo --------------------------------  >> %logs%
echo --                                >> %logs%
echo -              %compteur1% OK     >> %logs%
echo -           %compteur2% ERREUR(S) >> %logs%
echo --                                >> %logs%
echo --------------------------------  >> %logs%
echo.  >> %logs%
goto:eof


:: Exit
pause>NUL


@+



Dernière édition par AlonsO7798 le Mer 20 Aoû 2014 - 17:51; édité 5 fois

______________________________________________________
Une question ? N'hésitez pas à me contacter par Message Privé ou via le topique concerné.
Visiter le site web du posteur
Répondre en citant
Message [R] batch traitement fichier txt 
J'avais oublié,

Pour analyser plusieurs fichiers, tu as juste à copier/coller

Code:

SET logs=logs.txt
SET file=fichier.txt
SET compteur1=0
SET compteur2=0
CALL:START


Après

Citation:

:: Suite du code...


En modifiant 'fichier.txt' par le fichier à analyser

PS: Si tu ne veux pas modifier le fichier log, t'as pas besoin de le remettre, il est déjà setuppé au dessus.

Voilà, @+




______________________________________________________
Une question ? N'hésitez pas à me contacter par Message Privé ou via le topique concerné.
Visiter le site web du posteur
Répondre en citant
Message [R] batch traitement fichier txt 
Salut Laughing

Peut-être une solution en Vbscript Okay




______________________________________________________
Mes Contributions en Téléchargement
Répondre en citant
Message [R] batch traitement fichier txt 
Hello !

A priori le problème vient de là :
Code:

:: Code
:START
if not exist %file% call:logs_error & goto:eof
for /f "delims=" %%i in ('type %file%') do (
set vrLine=%%i
for /r %%j in (%file%) do (
set VrCompt=%%~zj
set /a VrCompt-=2
if not !VrCompt!==129 call:erreur
if !VrCompt!==129 call:ok
)


il faut faire :
Code:
for /F "usebackq delims="  %%j in (file) do (
echo %%j > .tmp
call :size .tmp
if not !VrCompt!==129 call:erreur
)

:: code

:size
set VrCompt=%%~z1
GOTO:EOF





______________________________________________________
--
> Que pensez vous de l'ajout du repertoire point dans $PATH ?
Ma version de troll 18.0.32 beta 3 vient de me faire un core dump.
-+- SE in Guide du Linuxien Pervers : Bien développer son troll -+-

[Dos9]
Visiter le site web du posteur Skype
Répondre en citant
Message [R] batch traitement fichier txt 
UP Mr. Green

Comme je te l'avais dis dans le chat, ça ne fonctionne pas hein :p (@DarkB)

@+




______________________________________________________
Une question ? N'hésitez pas à me contacter par Message Privé ou via le topique concerné.
Visiter le site web du posteur
Répondre en citant
Message [R] batch traitement fichier txt 
Bonjour bonjour Mr. Green

ATTENTION: EXUMATION Okay

Je vais te donner un bidouillage qui devrait marcher à merveille, il te ressortira ce fichier LOG:
Citation:
TEST.TXT - Ligne 1 _ 129 Caractères - OK !
TEST.TXT - Ligne 2 _ 10 Caractères - ERREUR !
TEST.TXT - Ligne 3 _ 10 Caractères - ERREUR !


Voici:
Code:
Set LINE=0
Set FILE=TEST.TXT

For /F "Delims=" %%# In ('Type %FILE%') Do (
                                 Set /A LINE+=1
                                 Set $=%%#
                                 Set £=0
                                  
                                 Call:/#\
                                 )
                                 
:/#\
Set $=%$:~0,-1%
Set /A £+=1
If "%$%" EQU "" If %£% EQU 129 (
                        Echo %FILE% - Ligne %LINE% _ %£% Caractères - OK !>>LOG.TXT
                        Goto:Eof
                        
                        ) Else (
                        
                              Echo %FILE% - Ligne %LINE% _ %£% Caractères - ERREUR !>>LOG.TXT
                              Goto:Eof
                              )
Goto:/#\



Bon c'est pas super jolie et c'est du gros bidouillage mais je suis un peu rouillé Mr. Green Okay

Je suis a ta disposition si tu veux un meilleur fichier LOG ou si tu as besoin d'autre chose.

Tu me tiens au courant Wink




______________________________________________________
│Øδ@π.
Visiter le site web du posteur Skype
Message [R] batch traitement fichier txt 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch