Question comment supprimer des caracteres

  • maiden65
  • Auteur du sujet
  • Visiteur
  • Visiteur
il y a 12 ans 11 mois #14921 par maiden65
comment supprimer des caracteres a été créé par maiden65
Voila ma question.

J'ai un fichier contenant une liste d'informations

Mon travail est de \"nettoyer\" ce fichier pour utiliser les infos dans une boucle ultérieure...

J'ai ce code que j'ai écrit

[code:1]
(gc $file | where {$_ -notmatch \"commande\"} | select -skip 3 | foreach { $_.Substring(2) } | where { $_ -notmatch \"Null\" }) | sc $file
[/code:1]

Dans ce code je souhaite afficher les infos à partir du 3eme caractere

mais j'ai l'erreur suivante
[code:1]
Exception lors de l'appel de « Substring » avec « 1 » argument(s) : « startIndex ne peut pas être supérieur à la longueur de la chaîne.
Nom du paramètre : startIndex »
Au niveau de E:\Formation\powershell\Script\lst_srv_network.ps1 : 16 Caractère : 87
+ (gc $file | where {$_ -notmatch \"commande\"} | select -skip 3 | foreach { $_.Substring <<<< (2) } | where { $_ -notmatch \"Null\" }) | sc $file
+ CategoryInfo : NotSpecified: (:«») [], MethodInvocationException
+ FullyQualifiedErrorId : DotNetMethodException
[/code:1]

Et si je fait
[code:1]
(gc $file | where {$_ -notmatch \"commande\"} | select -skip 3 | foreach { $_.Substring(2,$_.length) } | where { $_ -notmatch \"Null\" }) | sc $file
[/code:1]

J'ai
[code:1]
Exception lors de l'appel de « Substring » avec « 2 » argument(s) : « startIndex ne peut pas être supérieur à la longueur de la chaîne.
Nom du paramètre : startIndex »
Au niveau de E:\Formation\powershell\Script\lst_srv_network.ps1 : 16 Caractère : 87
+ (gc $file | where {$_ -notmatch \"commande\"} | select -skip 3 | foreach { $_.Substring <<<< (2,$_.length) } | where { $_ -notmatch \"Null\" }) | sc $file
+ CategoryInfo : NotSpecified: (:«») [], MethodInvocationException
+ FullyQualifiedErrorId : DotNetMethodException
[/code:1]


Sachant que les informations dans ce fichier ne sont pas de taille identique
par ex :

[code:1]
\\PC-DE-HOME
\\PERSO_2
[/code:1]

Merci de votre aide car là je ne vois pas comment faire...

Message édité par: maiden65, à: 24/05/13 08:59

Message édité par: maiden65, à: 24/05/13 09:00

Message édité par: maiden65, à: 24/05/13 09:01<br><br>Message édité par: maiden65, à: 24/05/13 09:02

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

Plus d'informations
il y a 12 ans 11 mois #14924 par SiSMik
Réponse de SiSMik sur le sujet Re:comment supprimer des caracteres
C'est super compliqué de comprendre ton problème si on n'a pas un extrait de ton fichier...

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

  • maiden65
  • Auteur du sujet
  • Visiteur
  • Visiteur
il y a 12 ans 11 mois #14927 par maiden65
Réponse de maiden65 sur le sujet Re:comment supprimer des caracteres
voici le contenu du ficher...

[code:1]
Nom de serveur Remarque

\\PC-DE-HOME
\\PERSO_2
La commande s'est terminée correctement.


[/code:1]

Je souhaite donc n'avoir au final

PC-DE-HOME
PERSO_2

Ensuite je me sert de ces information dans une boucle pour faire des travaux sur ces serveurs distant et en cours de connexion

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

Plus d'informations
il y a 12 ans 11 mois #14929 par ANTRI Mohamed
hello,

tu peux utiliser la méthode split.

Exemple:

[code:1]
$array = @(\&quot;\\PC-DE-HOME\&quot;,\&quot;\\PERSO_2 \&quot;«»)

foreach($item in $array)
{
write-host $item.Split(\&quot;\\\&quot;«»)

}
[/code:1]

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

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