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 de chaîne [PowerShell]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 76
    Par défaut Découpage de chaîne
    Bonsoir,

    J'aimerais découper une chaine pour en récuperer les valeurs et ainsi construire le nom d'un fichier.

    Je m'explique :
    J'ai par exemple ces répertoires C:\test\REP1\ et C:\test\REP2\SousRep2\
    Chacun de ces répertoires contient 1 fichier portant le même nom (fichier.txt)

    Ce que je souhaite au final (après execution d'un traitement) est d'archiver les fichiers traités dans le répertoire C:\test\archive\ au format
    C:\test\archive\REP1_fichier.txt et C:\test\archive\SousRep2_fichier.txt

    donc prendre à chaque fois le dernier répertoire de l'arborescence et le nom du fichier...
    J'ai essayé de découper ma chaine avec split... mais sans succès

    Merci pour votre aide

  2. #2
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Salut,
    une solution
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    $path="C:\Program Files\Windows"
     
    #$Path.Split("\") 
    #($Path.Split("\")[-1]   prend le dernier élément
    #$()  groupe au sein d'une chaîne
     
    $archive="c:\temp\archive"
    #construit la chaîne
    $result="$archive\$($Path.Split("\")[-1])_Fichier.txt"
    $result
     
    #Si le chemin contient un espace
    "$archive\$(($Path.Split("\")[-1]).replace(" ","_"))_Fichier.txt"
    Sinon il existe le cmdlet Split-Path :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Split-Path $path -leaf
    "$archive\$(Split-Path $path -leaf)_Fichier.txt"
    Si les informations sont issues du même path :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $Path="c:\temp\archive\Program Files\Fichier.txt"
    $T=$Path.Split("\")
    $t[-1] # prend le dernier élément
    $t[-2]
    "$archive\$($T[-2].replace(" ","_"))_$($T[-1])"
    Reste les regex…

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 76
    Par défaut
    Salut,

    Merci pour toutes ces pistes
    Je les essaye très vite

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 19/10/2007, 14h39
  2. Réponses: 4
    Dernier message: 19/10/2007, 09h46
  3. [Tableaux] Découpage de chaîne
    Par ssebuser dans le forum Langage
    Réponses: 10
    Dernier message: 21/12/2006, 17h12
  4. Découpage de chaînes
    Par innova dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 21/10/2006, 10h07
  5. [Débutant] Découpage de chaîne
    Par wkd dans le forum WinDev
    Réponses: 4
    Dernier message: 26/07/2006, 15h43

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