2015-03-04 2 views
0

J'ai donc besoin de lancer mon programme dans l'invite Windows comme ceci: my_program somestring.Compilateur Matlab avec une chaîne de caractères spéciale en entrée

Le problème est que somestring peut contenir des caractères comme &. J'ai des problèmes comme: 'si' n'est pas reconnu comme une commande interne ou externe. Où 'si' est après & dans la chaîne.

Je veux juste lire toute la chaîne. Que puis-je faire?

Editer: Cela semble fonctionner si je mets "" autour de "somest". Mais ce n'est pas quelque chose que je peux contrôler.

+0

Non, je ne contrôle pas la chaîne – Johan

+0

Que pouvez-vous contrôler ensuite? – David

+0

Mon programme doit prendre l'entrée donnée. Le programme peut être et .exe ou .bat. Est-ce que je peux faire un script qui récupère la chaîne et qui met "" autour d'eux ou quelque chose? – Johan

Répondre

0

Vous semblez croire que this error est retourné par matlab, mais ce n'est pas le cas.

Cette erreur est renvoyée car l'invite de commande ne peut pas exécuter votre commande. À ce titre, nous pouvons conclure ce qui suit:

  1. La chaîne atteint jamais votre programme Matlab
  2. Changer votre code Matlab ne va pas aider de quelque façon que

Vous semblez déjà savoir comment résoudre de le côté de l'entrée comme il a également été décrit dans How to escape parameter in windows command line?. Mais malheureusement, la réponse est qu'il ne semble pas y avoir d'autre moyen.

Conclusion

Si vous entrez une chaîne non valide dans l'invite de commande, il n'y a rien que vous pouvez faire dans Matlab pour « faire fonctionner ».