J'essaie de démarrer un processus avec deux paramètres qui s'exécuteront correctement à partir d'une fenêtre d'invite de commande cmd. Le problème vient quand j'essaie de le lancer via process.start
.Les arguments Process.Start ne fonctionnent pas
Dans la fenêtre cmd, cela ressemble à ceci.
D:\Projects\MyProg.exe "D:\Projects\MyScript.txt" "D:\Projects\MyInputData.txt"
Lorsque je tente de construire les arguments en .NET
il met des guillemets doubles autour de la chaîne entière et ressemble à ceci. Le programme ne l'interprète pas comme deux paramètres et s'arrête juste. Si j'ajoute des guillemets autour de chaque argument, il l'interprète encore mal.
Je sais que c'est le problème de MyProg.exe (programme de fournisseur que je ne peux pas changer) mais est-il un moyen d'envoyer cette commande pour que cela fonctionne? Lorsque j'ajoute des doubles guillemets, cela fonctionne, le programme démarre mais a un problème et s'arrête.
myProcess.StartInfo.Arguments = """D:\Projects\MyScript.txt"" ""D:\Projects\MyInputData.txt"""
Le dernier extrait est la plus correcte, il assure que les espaces dans les noms de chemin réel ne causent pas de problèmes. Donc, vous êtes à "a un problème et s'arrête juste", personne ne peut deviner ce que cela pourrait signifier quand vous ne décrivez pas le problème et montrez ce petit code. –
David Alves, j'aimerais donner plus d'infos mais c'est ce que ça fait. Il n'y a aucune information du processus. Je m'arrête et ne me dit pas pourquoi. Désolé, je ne peux pas être plus descriptif. –