Question Supprimer l'entete des colonnes

Plus d'informations
il y a 15 ans 4 mois #3397 par Michael
Bonjour,
Mon objectif :
Est de supprimer l'entete des colonnes dans un fichier et le copier dans un fichier titi.txt.
Voici mon script :
[code:1]
#Script shell2.ps1
$chemin = \"c:\documents and settings\mi_caron\mes documents\\"
$fichier1=\"test_detail.txt\"
$source = $chemin + $fichier1
$source
$dest=get-content $source|where{$_ -notlike \"*Site*\"}
$dest>$chemin\titi.txt[/code:1]

Mon probleme :
Losque je saisie en ligne de commande une par une les lignes du script ci dessus tout va bien .
mais quand je l'execute j'ai cette erreur :

Le terme « get-content $source » n'est pas reconnu en tant qu'applet de commande, fonction, programme exécutable ou fic
hier de script. Vérifiez le terme et réessayez.
Au niveau de C:\shell2.ps1 : 5 Caractère : 26
+ $dest=get-content $source| <<<< where{$_ -notlike \"*Site*\"}


Merci par avance de votre aide
Cordialement<br><br>Message édité par: Arnaud, à: 9/12/08 21:35

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 4 mois #3400 par Laurent Dardenne
Le nom de chemin contient des espaces, utilise des guillemets
[code:1]
$dest=get-content \&quot;$source\&quot;|where{$_ -notlike \&quot;*Site*\&quot;}
[/quote] [/code:1]

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 4 mois #3413 par Michael
Bonjour,
Merci de cette reponse mai le probleme reste le meme en modifiant le code avec les guillements
[code:1]Le terme « get-content $source » n'est pas reconnu en tant qu'applet de commande, fonction, programme exécutable ou fic
hier de script. Vérifiez le terme et réessayez.
Au niveau de c:\shell2.ps1 : 6 Caractère : 28
+ $dest=get-content \&quot;$source\&quot;| &lt;&lt;&lt;&lt; where{$_ -notlike \&quot;*Site*\&quot;}[/code:1]:S

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 4 mois #3423 par Arnaud Petitjean
Bonjour,

Tu ne t'y prends pas de la bonne façon pour arriver à tes fins car Where n'est pas fait pour fonctionner avec Get-Content.

Il va falloir t'y prendre d'une autre manière. Pourrais tu nous fournir un extrait significatif de ton fichier afin que l'on puisse mieux t'aider ?

Courage, on va y arriver... ;-)

Arnaud

MVP PowerShell et créateur de ce magnifique forum :-)
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 4 mois #3425 par Arnaud Petitjean
Bon, je vais tenter de régler ton problème en supposant que c'est bien ce que je crois...

Supposons que ton fichier, que j'ai appelé Test.txt est de cette forme :

[code:1]
entete1,entete2,entete3,entete4
ligne1,ligne1,ligne1,ligne1
ligne2,ligne2,ligne2,ligne2
ligne3,ligne3,ligne3,ligne3
ligne4,ligne4,ligne4,ligne4
ligne5,ligne5,ligne5,ligne5
[/code:1]

Maintenant, on va copier le contenu du fichier dans une variable ($a). Notre variable $a va devenir un tableau de chaines de caractères. A l'indice zero se trouvera la première ligne de notre tableau, à l'indice 1 la seconde et ainsi de suite :

[code:1]
PS &gt; $a = get-content test.txt
[/code:1]

A présent il ne reste plus qu'à extraire du tableau toutes les valeurs sauf la première (celle située à l'indice 0); cela se fait de la façon suivante avec l'opérateur de plage \&quot;..\&quot; :

[code:1]
PS &gt; $a[1..$a.length]
[/code:1]

Ce qui donne :

[code:1]
ligne1,ligne1,ligne1,ligne1
ligne2,ligne2,ligne2,ligne2
ligne3,ligne3,ligne3,ligne3
ligne4,ligne4,ligne4,ligne4
ligne5,ligne5,ligne5,ligne5
[/code:1]

Reste maintenant plus qu'à rediriger le tout dans un fichier et c'est gagné ! :

[code:1]
PS &gt; $a[1..$a.length] &gt; MonNouveauFichier.txt
[/code:1]

Ce qui donne si on concatène tous les bouts de code :

[code:1]
$a = get-content test.txt
$a[1..$a.length] &gt; MonNouveauFichier.txt
[/code:1]

Voilà, en espèrant que ça t'aide... ;-)

Arnaud

MVP PowerShell et créateur de ce magnifique forum :-)
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 4 mois #3435 par Laurent Dardenne
samijuju écrit:

Merci de cette reponse mai le probleme reste le meme en modifiant le code avec les guillements

Sur mon poste cela fonctionne.
Effectivement cela ne pose pas de pb dans la console mais bien dans un script.
Arnaud écrit:

car Where n'est pas fait pour fonctionner avec Get-Content.

Ah bon ? Pourtant cela fonctionne sur mon poste, en v2 mais je vais vérifier en v1.
Dans ce cas Where fonctionne avec le pipeline car Get-Content l'utilise aussi.

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.080 secondes
Propulsé par Kunena