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 :

Suppression de colonnes multiples [PowerShell]


Sujet :

Scripts/Batch

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Suppression de colonnes multiples
    Bonjour à tous,

    Je souhaiterais avoir votre support dans la rédaction d'un script Powershell afin de traiter en lot des fichiers CSV

    J'ai de très faibles notions en batch, et scripts et je n'ai pas trouvé de réponses facilement transposables sur la toile après 2 h de recherche aujourd'hui...

    J'ai besoin de traiter environ 400 fichiers créés sur la même structure --> j'ai besoin de supprimer certaines colonnes inutiles avant d'exécuter une macro d'import / concaténation sous Excel...

    Le script suivant marche très bien sur un fichier et je voudrais le transposer de sorte que cela puisse traiter tous les fichiers du répertoire au lieu de nommer le fichier dans le script :

    Code PowerShell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $source = "c:\Temp\1\113-291-211216.csv"
    $destination = "c:\Temp\2\113-291-211216.csv"
    (Import-CSV $source -Header 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17 | 
        Select "1","2","4","5","7" | 
        ConvertTo-Csv -NoTypeInformation | 
        Select-Object -Skip 1) -replace '"' | Set-Content $destination

    Comment puis-je procéder ?

    Vous remerciant par avance.

    David

  2. #2
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    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 184
    Points : 5 755
    Points
    5 755
    Par défaut
    Sans trop modifier ton code
    Je dirais un truc comme cela

    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $CsvFiles = Get-ChildItem -Path "c:\Temp\1\*.csv" -File
     
    foreach($CsvFile in $CsvFiles)
    {
        $source = $CsvFile.FullName
        $destination = "c:\Temp\2\" + $CsvFile.Name
        (Import-CSV $source -Header 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17 | 
            Select "1","2","4","5","7" | 
            ConvertTo-Csv -NoTypeInformation | 
            Select-Object -Skip 1) -replace '"' | Set-Content $destination
    }

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Merci pour cette première réponse.

    J'ai un retour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Get-ChildItem : Argument manquant pour le paramètre «Filter». Spécifiez un paramètre de type «System.String» et
    réessayez.
    Au caractère Ligne:1 : 51
    + $CsvFiles = Get-ChildItem -Path "c:\Temp\1\*.csv" -Filter
    +                                                   ~~~~~~~
        + CategoryInfo          : InvalidArgument : (:) [Get-ChildItem], ParameterBindingException
        + FullyQualifiedErrorId : MissingArgument,Microsoft.PowerShell.Commands.GetChildItemCommand
    Je suppose qu'il faut ajouter quelque chose après -Filter ?

  4. #4
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    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 184
    Points : 5 755
    Points
    5 755
    Par défaut
    La complétion m'a eu, c'était File j'ai corrigé

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Ca marche parfaitement, je te remercie beaucoup ericlm128

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

Discussions similaires

  1. [Crystal Report] Problème avec la mise en forme à colonnes multiples
    Par SamRay1024 dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 14/10/2010, 15h19
  2. vba [e] suppression de colonne
    Par patbou dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/03/2007, 12h46
  3. [VBA-E] Suppression des colonnes avec condition
    Par desdenova dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/02/2007, 13h39
  4. Colonnes multiples avec JTable
    Par solar_strikker dans le forum Composants
    Réponses: 1
    Dernier message: 06/11/2006, 21h31
  5. ADO : ajout suppression de colonne
    Par tyarcaouen dans le forum MFC
    Réponses: 5
    Dernier message: 25/04/2006, 13h17

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