Comment puis-je échapper une chaîne inconnue pour passer à Process.Start en tant qu'argument?Chaîne d'échappement pour Process.Start
J'échappe actuellement aux guillemets et aux barres obliques inversées de base, mais récemment, mon entrée a commencé à contenir des éléments comme http://www.fileformat.info/info/unicode/char/ff02/index.htm (guillemet pleine largeur).
Donc, ma question est, tout ce que j'ai besoin d'échapper à passer une chaîne en toute sécurité comme un argument pour Process.Start?
Editer: Je dois donc clarifier cela. Ce que je cherche vraiment, c'est une liste de tous les caractères qui doivent être échappés dans une chaîne entre guillemets ("foo") pour cmd.exe. À l'origine, je traitais le caractère de guillemets doubles ainsi que le caractère de barre oblique inverse, mais j'ai finalement eu une entrée qui contenait un guillemet de pleine largeur (comme référencé ci-dessus) qui devait également être échappé. Donc la question est, quoi d'autre ai-je besoin d'échapper pour un argument de chaîne entre guillemets passé à cmd.exe avec Process.Start?
Vous pourriez être intéressé par le [MedallionShell] (https://github.com/madelson/MedallionShell) bibliothèque, qui gère automatiquement les arguments de processus d'échappement et concaténation – ChaseMedallion