Erreur de syntaxe dans commande PowerShelle

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
CHR813
Messages : 2
Inscription : lun. 28/mai/2018 18:57

Erreur de syntaxe dans commande PowerShelle

Message par CHR813 »

Bonjour à tous,

je fais appel à vous pour une erreur de syntaxe dans la commande PowerShell (import-CSV).
C'est mon premier post.
--------------------------------------------------------------

Code : Tout sélectionner

EnableExplicit

Global.s cmd_power, separ , nom_fic, out$
Global.i i, prog 
nom_fic = "Pers_LF.csv"

separ = Chr(34) + ";" + Chr(34)
cmd_power = "Import-Csv -Path " + nom_fic + " -Delimiter " + separ
Debug cmd_power
prog = RunProgram("powershell.exe",cmd_power, "", #PB_Program_Open|#PB_Program_Read|#PB_Program_Hide)
If prog
  While ProgramRunning(prog)
    out$ = out$ + ReadProgramString(prog)
  Wend
   Debug out$
  CloseProgram(prog)
EndIf
------------------------------------------------------------

Debug retourne > Import-CSV -Path "Pers_LF.csv" -Delimiter ";"
Cette ligne copiée dans PowerShell, par copier/coller fonctionne bien.

Voici l'erreur retournée :
Import-Csv -Path Pers_LF.csv -Delimiter ";"
Import-Csv : Argument manquant pour le param tre Delimiter . Spécifiez un paramètre de type System.Char et réessayez.Au caractère Ligne:1 : 30+ Import-Csv -Path Pers_LF.csv -Delimiter ;
+ ~~~~~~~~~~ + CategoryInfo : InvalidArgument : (:) [Import-Csv], ParameterBindingException + FullyQualifiedErrorId : MissingArgument,Microsoft.PowerShell.Commands.ImportCsvCommand

J'ai essayé d'autres syntaxe avec chr(34) et avec les caractères d'échappement mais avec la même erreur.

Voyez-vous la cause de l'erreur ? Merci à vous
Dernière modification par CHR813 le mar. 17/déc./2024 11:19, modifié 2 fois.
Avatar de l’utilisateur
Mindphazer
Messages : 694
Inscription : mer. 24/août/2005 10:42

Re: Erreur de syntaxe dans commande PowerShelle

Message par Mindphazer »

Powershell accepte les doubles quotes ou les simples quotes
Essaie avec des simples quotes, comme ça :

Code : Tout sélectionner

Global.s cmd_power, separ , nom_fic, out$
Global.i i, prog
nom_fic = "Pers_LF.csv"

;separ = Chr(34) + ";" + Chr(34)
cmd_power = "Import-Csv -Path '" + nom_fic + "' -Delimiter ';'"
Debug cmd_power
prog = RunProgram("powershell.exe",cmd_power, "", #PB_Program_Open|#PB_Program_Read|#PB_Program_Hide)
If prog
While ProgramRunning(prog)
out$ = out$ + ReadProgramString(prog)
Wend
Debug out$
CloseProgram(prog)
EndIf
PS : mets des balises quand tu postes un code :wink:
Bureau : Win10 64bits
Maison : Macbook Pro M3 16" SSD 512 Go / Ram 24 Go - iPad Pro 32 Go (pour madame) - iPhone 15 Pro Max 256 Go
CHR813
Messages : 2
Inscription : lun. 28/mai/2018 18:57

Re: Erreur de syntaxe dans commande PowerShelle

Message par CHR813 »

Merci avec les simples quotes ça marche !
Désolé pour les balises, c'est mon premier post, je n'ai pas vu comment les mettre.
Bonne journée
Répondre