Comment passer plusieurs arguments en processStartInfo?
Je veux exécuter certains cmd
commande à partir de c#
code. J'ai suivi certains blogs et tutoriel et j'ai la réponse, mais je suis à peu confus, j'ai.e comment dois-je passer plusieurs arguments?
Je utiliser le code ci-dessous:
System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal;
startInfo.FileName = "cmd.exe";
startInfo.Arguments =
...
Quel sera le startInfo.Arguments
valeur pour la ligne de commande suivante de code?
-
makecert -sk server -sky exchange -pe -n CN=localhost -ir LocalMachine -is Root -ic MyCA.cer -sr LocalMachine -ss My MyAdHocTestCert.cer
-
netsh http add sslcert ipport=127.0.0.1:8085 certhash=0000000000003ed9cd0c315bbb6dc1c08da5e6 appid={00112233-4455-6677-8899-AABBCCDDEEFF} clientcertnegotiation=enable
Vous devez vous connecter pour publier un commentaire.
C'est purement une chaîne de caractères:
Bien sûr, quand les arguments contiennent des espaces, vous aurez pour échapper à l'aide de \" \", comme:
Voir MSDN pour cela.
utilisation /c comme un cmd argument pour fermer cmd.exe une fois terminé le traitement de vos commandes
et...
La
/c
dit cmd d'arrêter une fois que la commande est terminée. Tout ce qui est après/c
est la commande que vous souhaitez exécuter (danscmd
), y compris tous les arguments.Pour makecert, votre
startInfo.FileName
doit être le chemin complet de makecert (ou tout simplement makecert.exe si elle est dans le chemin d'accès standard) puis leArguments
serait-sk server -sky exchange -pe -n CN=localhost -ir LocalMachine -is Root -ic MyCA.cer -sr LocalMachine -ss My MyAdHocTestCert.cer
maintenant, je suis peu familier avec la façon dont le magasin de certificats fonctionne, mais peut-être que vous aurez besoin de mettre enstartInfo.WorkingDirectory
si vous faites référence à l' .cer fichiers à l'extérieur du magasin de certificats