Question
Supprimer un retour à la ligne
- rocketter
- Auteur du sujet
- Hors Ligne
- Membre senior
-
- Messages : 46
- Remerciements reçus 0
Par contre pourquoi faire appel à une méthode statique pour lire un fichier, les méthodes conventionnelles de PowerShell ne suffissent pas ?
Et le transtypage est-il utile ?
Désolé de toutes ces questions lol, mais comme j'suis débutant en PowerShell et que je veux apprendre, j'aime bien comprendre
La pièce jointe test-93047b4bc2543f12acdd4c4ff0a44202.txt est absente ou indisponible
Pièces jointes :
Connexion ou Créer un compte pour participer à la conversation.
- xyz
- Hors Ligne
- Modérateur
-
- Messages : 6311
- Remerciements reçus 69
rocketter écrit:
Pas toujours, ici on peux utiliser ceci :Par contre pourquoi faire appel à une méthode statique pour lire un fichier, les méthodes conventionnelles de PowerShell ne suffissent pas ?
[code:1]
[string]$s=Get-Content -Path 'C:\temp\test2.txt' -ReadCount 0
[/code:1]
Il faut transtyper la variable $s en string sinon on récupère un tableau d'objets.
rocketter écrit:
Uniquement si tu souhaites visualiser les caractères dans le format décimal ( [char]65 ).<br><br>Message édité par: Laurent Dardenne, à: 28/04/15 12:12Et le transtypage est-il utile ?
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- rocketter
- Auteur du sujet
- Hors Ligne
- Membre senior
-
- Messages : 46
- Remerciements reçus 0
Donc mon code d'origine ne fonctionnait pas à cause du type de mon fichier, d'où la nécessité de passer par une variable de type string c'est ça ?
Par contre, malgré ton lien, j'ai du mal à comprendre ta regex : (\n|\r|\r\n)A\|
Connexion ou Créer un compte pour participer à la conversation.
- xyz
- Hors Ligne
- Modérateur
-
- Messages : 6311
- Remerciements reçus 69
Non, selon les versions de PS les cmdlets proposent des paramètre supplémentaire (-Raw), pour ce cas je ne me souvenais plus si cela avait une importance...Donc mon code d'origine ne fonctionnait pas à cause du type de mon fichier, d'où la nécessité de passer par une variable de type string c'est ça ?
rocketter écrit:
\n : line feed -> chr(10)Par contre, malgré ton lien, j'ai du mal à comprendre ta regex : (\n|\r|\r\n)A\|
\r : carriage return -> chr(13)
Le métacaractère pipe | est une alternative (soit ceci, soit cela, ou bien ceci ou cela) afin de prendre en compte les différentes constructions de fin de ligne.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- rocketter
- Auteur du sujet
- Hors Ligne
- Membre senior
-
- Messages : 46
- Remerciements reçus 0
Connexion ou Créer un compte pour participer à la conversation.
- xyz
- Hors Ligne
- Modérateur
-
- Messages : 6311
- Remerciements reçus 69
Le résultat à obtenir est une string et ce à partir d'un fichier :
[code:1]
$t=(gc 'C:\temp\test2.txt')
$t.GetType()
#System.Array
$s=$t -as [string] #transtypage explicite
$s.GetType()
#String
#ou
[string]$s=gc 'C:\temp\test2.txt' #transtypage implicite
$s.GetType()
#String
$s=[IO.File]::ReadAllText('C:\temp\test2.txt')
$s.GetType()
#String
#Affiche le détail de la méthode
[IO.File]::ReadAllText
# OverloadDefinitions
#
# static string ReadAllText(string path)
# static string ReadAllText(string path, System.Text.Encoding encoding)
#ICI on utilise la première signature
[/code:1]
Le résultat est identique...
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Supprimer un retour à la ligne