Je cherche un moyen d'exécuter DOS/Windows directement à partir du code C# sans l'enregistrer en tant que fichier .BAT avant. Je suis principalement intéressé par exécuter une commande DOS avec une combinaison de flux stdin.Comment exécuter la commande de lot complexe à la volée
Disons que je dois exécuter quelque chose comme ça:
echo 'abcd' | programXXX.exe -arg1 --getArgsFromStdIn
Après que programXXX.exe prendra chaîne « abcd » comme -arg1
Ce que je fais est juste créer chauve-souris fichier dans le répertoire TMP et en cours d'exécution, la suppression après l'exécution. Ce dont j'ai besoin, c'est de l'exécuter "à la volée" à partir du code .NET sans l'enregistrer au préalable.
(La raison principale est la sécurité, mais aussi ne veut pas laisser des déchets quand le programme se bloque, etc.)
Savez-vous comment y parvenir?
Voulez-vous exécuter des commandes uniques ou des fichiers batch (complexes)? –
Je voudrais exécuter plus d'une commande de ligne – Maciej