Bonjour,
Je fais un script qui permet de remonter une base MySQL, présente sur un autre serveur, à partir d'un fichier .sql présent dans le même répertoire que mon script.
J'ai une commande dans un script batch qui me permet de restaurer une base de données MySQL à partir d'un fichier texte:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
C:\...\mysql.exe -h localhost -u root -p base_données_à_restaurer < C:\...\SauvegardeBDD\fichier_dump_base_données.sql
Je souhaite intégrer cette commande à un script PowerShell. J'ai donc tout naturellement ajouté à mon script PowerShell la commande suivante:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
cmd.exe /c C:\...\mysql.exe "-h" localhost "-u" root "-p" base_données_à_restaurer < C:\...\SauvegardeBDD\fichier_dump_base_données.sql
Cependant lors de l'exécution du script, un message d'erreur est apparu comme quoi le flux de redirection en input n'était pas pris en charge:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
L'opérateur «*<*» est réservé pour une utilisation ultérieure.
Au niveau de C:\Users\mmonge\Documents\Script_de_Sauvegarde\CopieBDD2G\CopyBDD2G.ps1*: 53 Caractère*: 81
+ cmd.exe /c  $mysqlpathmysql "-h" $mysqlhost "-u" $mysqluser "-p"$mysqlpassword < <<<<  $mysqlpathtomysqldumpfile;
    + CategoryInfo          : ParserError: (<:OperatorToken) [], ParseException
    + FullyQualifiedErrorId : RedirectionNotSupported
J'ai essayé d'inverser les flux de la manière suivante:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
cmd.exe /c C:\...\SauvegardeBDD\fichier_dump_base_données.sql > C:\...\mysql.exe -h localhost -u root -p base_données_à_restaurer
Ensuite, j'ai essayé de mettre des "quotes" sur le flux de redirection mais sans succès, aucun message d'erreur mais commande ne donnant aucun résultat:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
cmd.exe /c C:\...\mysql.exe "-h" localhost "-u" root "-p" base_données_à_restaurer "<" C:\...\SauvegardeBDD\fichier_dump_base_données.sql
Enfin, je suis aller chercher de la documentation et j'ai essayé d'utiliser la fonction Get-Content mais sans succès de deux manières différentes.

Premier essai:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
cmd.exe /c C:\...\mysql.exe "-h" localhost "-u" root "-p" base_données_à_restaurer | Get-Content C:\...\SauvegardeBDD\fichier_dump_base_données.sql
Deuxième essai:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
cmd.exe /c Get-Content | C:\...\SauvegardeBDD\fichier_dump_base_données.sql > C:\...\mysql.exe "-h" localhost "-u" root "-p" base_données_à_restaurer
Etant bloqué suite à ce problème, je ne peux pas remonter ma base de données à partir du fichier de dump.
Je vous remercie d'avance pour toute information me permettant d'avancer.