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 :

Lecture d'un fichier : récupération d'un bloc et le replacer par un autre ? [PowerShell]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de troxsa
    Inscrit en
    Novembre 2004
    Messages
    388
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Novembre 2004
    Messages : 388
    Par défaut Lecture d'un fichier : récupération d'un bloc et le replacer par un autre ?
    Bonjour,

    J'ai un fichier de 800 lignes et j'ai un repère ou je dois faire les modifications après le repère, sauf que le repère peux changer de ligne en fonction des modifications dans le temps, puis j'ai un repère de fin ou le fichier ne doit pas être modifié.

    Exemple :
    Ligne 1 : Start
    ...
    Ligne 500 : Faire les modifications ci-dessous
    Ligne 501 :
    Ligne 502 : Info 1
    Ligne 503 : Info 2
    Ligne 504 : Info 3
    Ligne 505 : Fin des modifications
    ...
    Ligne 800

    La ligne 500 est le repère du début et la ligne 505 et le repère de fin
    Comment faire pour replacer le bloc par un autre ?
    (Les informations des lignes 501 a 504 peuvent être différentes entre un fichier et un autre, contrairement au ligne 500 et 505)
    J'ai fait plusieurs tentative avec regex mais sans réussite, avec un tableau ça me semble plus facile mais je me dis que Powershell doit avoir quelque chose de plus adapté pour faire ce genre de chose

    En vous remerciant d'avance
    A bientôt

  2. #2
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Dans ton fichier il y à réellement Faire les modifications ci-dessous et Fin des modifications ?
    Et tu veux y mettre quoi à la place ?

  3. #3
    Membre éprouvé
    Avatar de troxsa
    Inscrit en
    Novembre 2004
    Messages
    388
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Novembre 2004
    Messages : 388
    Par défaut
    Bonjour

    N'importe quoi, je le replacerais par la suite par ce que je veux
    exemple :

    Ligne 500 : Faire les modifications ci-dessous
    Ligne 501 :
    Ligne 502 : Test 5
    Ligne 503 : Test 55
    Ligne 504 : Test 555
    Ligne 505 : Fin des modifications

  4. #4
    Membre éprouvé
    Avatar de troxsa
    Inscrit en
    Novembre 2004
    Messages
    388
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Novembre 2004
    Messages : 388
    Par défaut
    Voici ce que j'ai réussi a faire pour le moment :

    Code PowerShell : 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
    $ContentFile = (Get-Content MonFichier.txt)
    [array]$test = ($ContentFile -Split "`r`n")
    $start = 0
    $end = 0
    for($i = 0; $i -lt $test.Count; $i++)
    {
        if($test[$i] -match "Fin des modifications")
        {
            $end = $i - 2
        }
        if($test[$i] -match "Faire les modifications ci-dessous")
        {
            $start = $i + 2
        }
    }
    $Bloc_Debut = $ContentFile | select -First $start
    $Bloc_Fin = $ContentFile | select -last ($test.Count - $end)
    $Bloc_Select = $ContentFile | select -First $end | select -Last ($end - $start)

    Je pense qu'il y a plus simple pour arriver au même résultat

    A bientot

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

Discussions similaires

  1. Lecture d'un fichier, récupération d'un champs
    Par snorky94 dans le forum Langage
    Réponses: 5
    Dernier message: 13/08/2013, 09h39
  2. Lecture d'un fichier MP3 et récupération de ses informations
    Par arnolem dans le forum Téléchargez
    Réponses: 0
    Dernier message: 01/10/2011, 08h43
  3. lecture dans un fichier par bloc
    Par danathane dans le forum Langage
    Réponses: 1
    Dernier message: 15/12/2008, 11h02
  4. lecture ecriture de fichier par blocs
    Par pfeuh dans le forum C
    Réponses: 10
    Dernier message: 06/11/2008, 10h48

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