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 :

Découpage ligne d'un fichier powershell [PowerShell]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2016
    Messages : 5
    Par défaut Découpage ligne d'un fichier powershell
    Bonjour à tous,

    Je suis actuellement bloqué sur un script powershell, et ce depuis un moment. Mon problème est le suivant :
    J'ai un fichier texte, composé d'une seule ligne de X caractères. Seulement, j'aimerai scinder cette ligne en plusieurs de 120 caractères chacune (X variable, mais beaucoup trop pour le faire à la main).
    J'ai alors essayé cette solution (proposé sur ce même forum, mais pas au bon endroit)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     while($fic)
    {
        $x,$fic = ([char[]]$fic).where({$_},'Split',120)
        $x -join '' >> temp.txt
    }
    qui fonctionne, mais pas avec la version de PowerShell (j'imagine), qui est la 2.0 et que je ne peux pas mettre à jour...
    Je n'ai aucune idée de comment arriver à faire ce que je veux.

    Je vous mets le message d'erreur:
    L'appel de la méthode a échoué parce que [System.Char[]] ne contient pas de méthode nommée « where ».
    Au niveau de script.ps1 : 18 Caractère : 35
    + $x,$fic = ([char[]]$fic).where<<<< ({$_},'Split',120)
    + CategoryInfo : InvalidOperation: (where: String) [], RuntimeException
    + FullyQualifiedErrorId : MethodNotFound
    Cordialement,

  2. #2
    Membre Expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Par défaut
    Salut,

    Tu peux également utiliser la méthode : String.ToCharArray()
    et ensuite Looper sur l'array créer en reconstruisant un string tous les 720 caractères

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $string = get-content test.txt | Out-String
    $array = $string.ToCharArray()
    
    for ($i = 0; $i -lt $array.length; $i += 720) {
      $Ligne = ([string]$array[$i..($i+719)]).replace(" ","")
      echo $Ligne
    }
    Ou avec les regexp :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $string = get-content test.txt | Out-String
    [regex]::split($string, '(.{720})') | ? {$_}

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2016
    Messages : 5
    Par défaut
    Je viens d'essayer ta première solution, l'inconvénient est qu'elle remplace tous les espaces, et que certains sont nécessaires et compris dans les 120 caractères

    En revanche, ça fonctionne avec une regexp.

    Merci bien !

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

Discussions similaires

  1. Problème découpage fichier Powershell
    Par Kopter dans le forum Windows
    Réponses: 3
    Dernier message: 25/10/2016, 08h19
  2. Réponses: 2
    Dernier message: 02/03/2004, 19h38
  3. Supprimer une ligne dans un fichier
    Par sbeu dans le forum Langage
    Réponses: 3
    Dernier message: 13/05/2003, 10h30
  4. Réponses: 4
    Dernier message: 24/04/2003, 22h28
  5. Supprimer la premiere ligne d'un fichier
    Par Kahiba dans le forum Langage
    Réponses: 7
    Dernier message: 11/02/2003, 10h18

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