Envoyer des commandes à d'autres programmes de ligne de commande
Est-il un moyen, pour envoyer des commandes à un autre programme de ligne de commande?
'Cause i ont un programme de ligne de commande, mais je ne peux pas envoyer des commandes à l'aide de la syntaxe comme program.exe something_to_do
le programme s'exécute quelque chose comme ceci: ("voici la syntaxe" est là où je veux en entrée de texte et également entrer pour commencer)
TheWhateverCommandLineProgram
Version 1.1
Give an option: "here syntax"
le programme dans le code ressemble à ceci:
echo TheWhateverCommandLineProgram
echo Version 1.1
Set opt=
set /p opt=Give an option:
if %opt%==command1 goto com1
if %opt%==command2 goto com2
...
Bien, je suppose que si la cause n'était pas moi qui l'a fait (btw: off sûr ce n'est pas appelé TheWhateverCommandLineProgram)
Pouvez-vous être un peu plus précis sur ce qu'est le problème. Dire un peu plus sur ce que votre "spécial programme de ligne de commande" est et ce qu'il est que vous voulez faire. Voulez-vous envoyer des commandes à une déjà en cours d'exécution du programme ou tout simplement commencer avec un ensemble particulier d'options?
OriginalL'auteur Deniz Zoeteman | 2009-07-29
Vous devez vous connecter pour publier un commentaire.
Si vous voulez juste pour donner clavier de saisie à une ligne de commande du programme, vous pouvez simplement utiliser
echo
et le tuyau:Si vous avez besoin de plus de lignes, puis les écrire dans un fichier et l'utilisation de la redirection d'entrée:
OriginalL'auteur Joey
Je ne suis pas 100% sûr que je comprends ce que vous cherchez. Voici deux options:
Vous avez deux fenêtres de chaque exécution d'un programme de commandes. Disons qu'ils sont appelés
myscript1.bat
etmyscript2.bat
. Vous souhaitez envoyer une série de commandes à partirmyscript1.bat
à être exécuté parmyscript2.bat
Vous avez un seul script batch nommé
myscript.bat
, qui exécute qu'un seul programme nomméprogram.exe
. Vous souhaitezprogram.exe
pour exécuter certaines commandes, ou de faire quelque chose.Sont ces ce que vous recherchez? Voici une idée:
Faire
myscript1.bat
créer un troisième fichier,mycommands.bat
. Une foismyscript2.bat
voit le fichiermycommands.bat
existe, il va l'exécuter et de le supprimer. (Wow. Boiteux.)Utilisez Windows Scripting Host commande (il est intégré à Windows depuis Win2K) ou Powershell (généralement sur la plupart des ordinateurs de nos jours, si ils ont été mis à jour). Chacun de ces programmes peut envoyer des séquences de touches à un autre programme. À l'aide de ces touches, vous pouvez contrôler l'autre programme.
Comment puis-je le faire dans Windows Scripting Host commande??
Je pense que le nom de la fonction est
SendKeys
, mais je ne me souviens pas l'objet dont vous avez besoin. Googler "sendkeys" vous permet de vous msdn.microsoft.com/en-us/library/8c6yea83(SV.85).aspx - voir les exemples à la fin de cette page.euh, le problème est, il n'est pas disponible sur Vista (donc aussi sur la 7?) et cela devrait être rendu public, donc...
dans ce cas, je vous recommande d'utiliser Powershell, je suppose...
OriginalL'auteur Shalom Craimer
Dans ce formulaire n'est autre programme de prendre une entrée? À partir de l'invite de commande?
Si le dernier alors je recommande Autohotkey: http://www.autohotkey.com/
Vous pouvez utiliser Autohotkey comme un pont et il enverra la commande que les appuis sur les touches de la fenêtre de l'autre fichier de commandes.
Vous pouvez demander de l'aide dans leur forum. Ils sont très utiles.
L'utilisateur n'aura pas à taper les commandes. Autohotkey va faire la saisie. Lire son tutoriel.
En particulier, vous avez besoin de la commande Envoyer: autohotkey.com/docs/commands/Send.htm
OriginalL'auteur