Question
Fonction Substring
- DEMINFO
- Auteur du sujet
- Hors Ligne
- Membre junior
Réduire
Plus d'informations
- Messages : 30
- Remerciements reçus 0
il y a 3 semaines 18 heures #34567
par DEMINFO
Fonction Substring a été créé par DEMINFO
Bonjour,
J'ai le problème suivant :avec Substring :
Échec lors de l’appel de la méthode, car [System.IO.FileInfo] ne contient pas de méthode nommée « Substring ».
Au caractère P:\BLATMAILS\OUTILS\EDIFAC.ps1:29 : 7
+ $CodeSociete=$CodeSociete.Substring(3,1)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation : ( [], RuntimeException
+ FullyQualifiedErrorId : MethodNotFound
Soc= AUCG2401399
Le script est le suivant :
#Renommage des Fichiers
Set-Location $RepOutPutATraiter
$LFic=Get-ChildItem -Recurse
if ($LFic -ne $null)
{
for ($ific=0 ; $ific -lt $LFic.Count ; $ific++)
{
$DateHeure=Get-Date -Format "yyyyMMdd_HHmmss"
$YYYYMMDD=$DateHeure.Substring(0,8)
$HHMMSS=$DateHeure.Substring(9,6)
$CodeSociete=$LFic[$ific]
$CodeSociete=$CodeSociete.Substring(3,1)
Write-Host "Soc="$CodeSociete
switch ($CodeSociete)
{
"G" {$Prefixe="GMT"}
"S" {$Prefixe="SOC"}
Default {$Prefixe=$null}
}
Et pourtant $CodeSociete s'affiche bien avec la bonne valeur.
J'ai fait l'essai de mettre la valeur AUCG2401399 dans $CodeSociete="AUCG2401399" et ça fonctionne très bien.
D'avance merci pour votre aide
D'avance merci pour votre aide
J'ai le problème suivant :avec Substring :
Échec lors de l’appel de la méthode, car [System.IO.FileInfo] ne contient pas de méthode nommée « Substring ».
Au caractère P:\BLATMAILS\OUTILS\EDIFAC.ps1:29 : 7
+ $CodeSociete=$CodeSociete.Substring(3,1)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation : ( [], RuntimeException
+ FullyQualifiedErrorId : MethodNotFound
Soc= AUCG2401399
Le script est le suivant :
#Renommage des Fichiers
Set-Location $RepOutPutATraiter
$LFic=Get-ChildItem -Recurse
if ($LFic -ne $null)
{
for ($ific=0 ; $ific -lt $LFic.Count ; $ific++)
{
$DateHeure=Get-Date -Format "yyyyMMdd_HHmmss"
$YYYYMMDD=$DateHeure.Substring(0,8)
$HHMMSS=$DateHeure.Substring(9,6)
$CodeSociete=$LFic[$ific]
$CodeSociete=$CodeSociete.Substring(3,1)
Write-Host "Soc="$CodeSociete
switch ($CodeSociete)
{
"G" {$Prefixe="GMT"}
"S" {$Prefixe="SOC"}
Default {$Prefixe=$null}
}
Et pourtant $CodeSociete s'affiche bien avec la bonne valeur.
J'ai fait l'essai de mettre la valeur AUCG2401399 dans $CodeSociete="AUCG2401399" et ça fonctionne très bien.
D'avance merci pour votre aide
D'avance merci pour votre aide
Connexion ou Créer un compte pour participer à la conversation.
- Fabien
- Hors Ligne
- Membre premium
Réduire
Plus d'informations
- Messages : 142
- Remerciements reçus 21
il y a 2 semaines 4 jours #34571
par Fabien
Réponse de Fabien sur le sujet Fonction Substring
Bonjour DEMINFO,
La variable ($codeSociete) que tu essayes de modifier contient plusieurs éléments : (Mode, LastWriteTime, Length, Name).
Pour pouvoir modifier le Name, il faut le préciser comme ceci :
La variable ($codeSociete) que tu essayes de modifier contient plusieurs éléments : (Mode, LastWriteTime, Length, Name).
Pour pouvoir modifier le Name, il faut le préciser comme ceci :
$CodeSociete.Name.Substring(3,1)
Les utilisateur(s) suivant ont remercié: DEMINFO
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
- Hors Ligne
- Modérateur
il y a 2 semaines 4 jours #34574
par Arnaud Petitjean
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 ?
Réponse de Arnaud Petitjean sur le sujet Fonction Substring
Bonjour Deminfo,
Effectivement, comme le souligne Fabien, l'objet sur lequel tu essaies d'appliquer la méthode SubString n'est pas une chaine de caractères mais un fichier. Il faut donc identifier et choisir la propriété qui contient le nom de ton fichier.
Si tu choisis Name, tu auras le nom court et si tu choisis la propriété FullName, tu obtiendras le chemin complet (absolu) vers ton fichier. A toi de choisir la bonne propriété selon ton contexte.
Arnaud
Effectivement, comme le souligne Fabien, l'objet sur lequel tu essaies d'appliquer la méthode SubString n'est pas une chaine de caractères mais un fichier. Il faut donc identifier et choisir la propriété qui contient le nom de ton fichier.
Si tu choisis Name, tu auras le nom court et si tu choisis la propriété FullName, tu obtiendras le chemin complet (absolu) vers ton fichier. A toi de choisir la bonne propriété selon ton contexte.
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 ?
Les utilisateur(s) suivant ont remercié: DEMINFO
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.096 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- Fonction Substring