none
Découpage d'un tableau en plusieurs lots ? RRS feed

  • Question

  • Bonjour,

    J'ai une liste de machine contenant +1000 machines et je souhaiterais en faire des lots de 5 ou des lots de 10

    Je me dis qu'en Powershell il existe forcement un moyen plus simple qu'une boucle for i ?

    Avez vous des idées ?


    Cordialement,


    • Modifié Troxsa lundi 5 août 2019 09:37
    lundi 5 août 2019 09:29

Toutes les réponses

  • Oui, des idées et des solutions, il y en a, et cela ne devrait pas être compliqué.

    Juste une chose, ta liste, elle est de quelle forme?

    Fichier texte, Fichier CSV, feuille Excel, feuille de papier, ...

    et sous quelle forme veux tu sortir cela?

    avec un fichier texte, cela devrait ressembler à cela:

    $TxtFile = Get-Content .\teraterm.log
    $TxtFileSizeMeaningZero = $TxtFile.count - 1
    
    $BlocSize = 6
    $NrOfBlocMeaningZero = [math]::Floor(($TxtFileSizeMeaningZero+1)/$BlocSize)
    
    foreach ($Bloc in (0..$NrOfBlocMeaningZero)) {
      $BlocFileName = "Bloc-{0:000}.txt" -f $Bloc
      $StartLine = $Bloc * $BlocSize
      $EndLine = $StartLine + $BlocSize - 1
      if ($EndLine -gt $TxtFileSizeMeaningZero) {$EndLine = $TxtFileSizeMeaningZero}
      Write-host "$StartLine  $EndLine" -ForegroundColor Magenta
      $TxtFile[$StartLine..$EndLine] | out-file -FilePath .\Blocs\$BlocFileName -encoding UTF8
      }
    
    
    B.

    samedi 10 août 2019 13:18