2008-10-26 9 views
6

J'ai une application exécutée uniquement sous Windows et un fichier de commandes qui la lance. Je veux appeler ce fichier batch à partir de Linux, ce qui veut dire quelque chose comme Linux batch lancera le batch Windows avec les paramètres et cela lancera mon application.Appel du fichier de commandes Windows à partir de Linux

Puis-je faire cela? Comment?

Répondre

11

Vous pouvez installer un serveur ssh dans la zone Windows (Cygwin a un), puis de linux faire quelque chose comme:

ssh [email protected] c:/path/to/batch.cmd 

et qui devrait lancer votre application dans la zone de fenêtres.

+0

Cela a fonctionné pour moi, mais le chemin était relatif et suivait la syntaxe linux, c'est-à-dire 'ssh utilisateur @ windows-box/batch.bat' –

0

Notre processus de construction va actuellement dans l'autre sens: un serveur Windows démarre les choses sur le serveur Linux en utilisant plink (partie de PuTTY). Vous pourriez être en mesure de mettre quelque chose de similaire.

0

Cela peut causer un problème de sécurité. Notre responsable de la sécurité de l'information ne m'a pas permis d'invoquer directement des programmes.

Le moyen le plus sûr est de configurer le serveur sur un ordinateur Windows. Cela peut être un serveur web par exemple. Puis invoquez votre processus dans le script PHP/Perl/Python.

1

La manière la plus directe est probablement d'installer un serveur SSH sur la boîte de Windows. Cygwin inclut un serveur ssh. En fonction de la précision de vos besoins en termes de synchronisation, vous pouvez avoir un travail "at" sur la boîte de dialogue Windows qui s'exécute périodiquement (toutes les 5 minutes?) Et s'exécute si un fichier particulier existe, supprimant le fichier. Ensuite, vous pouvez utiliser Samba/smbclient pour créer le fichier. Vous devez activer le partage de fichiers sur la fenêtre pour que cela fonctionne.

Si la boîte de dialogue Windows dispose d'un serveur Web, vous pouvez écrire un CGI et le déclencher en utilisant wget ou cURL.

0

Regardez également winexe qui vous permet d'exécuter des commandes Windows/scripts batch sans exécuter le serveur ssh.

Questions connexes