2015-10-24 2 views
-2

J'essaie d'exécuter une commande shell ou un fichier batch dans LiveCode, cependant, pour des raisons inconnues, cela ne fonctionne pas. Je voudrais utiliser un autre programme intermédiaire pour exécuter le fichier de commandes qui enregistre la sortie dans un fichier texte, puis lire cette sortie avec LiveCode comme une solution de contournement. Qu'est-ce qu'un moyen simple de créer un exécutable capable de traiter un fichier batch?Comment créer un programme pour exécuter une commande shell dans Windows?

Il n'y a pas vraiment de code approprié pour partager autre que

put "test.bat" into tCommand 

put shell (tCommand) into fld "output" 
+0

Vous ne comprenez pas pourquoi vous avez besoin d'un exécutable pour exécuter un fichier de commandes. – Squashman

+0

@Mecek ce n'est certainement pas un doublon d'une question C#. S'il vous plaît, lisez la question. C# n'est pas mentionné. – Mark

+0

@bbglazer Si vous voulez une réponse, vous devez inclure la partie pertinente de votre script dans vos questions. S'il vous plaît, modifiez et ajoutez le code. – Mark

Répondre

0

Le script suivant fonctionne dans LiveCode 6.7.6:

set the hideConsoleWindows to true 
put shell("C:\test.bat") 

Mon fichier bat contient

@echo off 
echo 'test' 
pause 

et la valeur renvoyée par shell() est

'test' 
Press any key to continue . . . 

Le dernier caractère de la valeur renvoyée est un saut de ligne.

Vous devriez peut-être essayer de reproduire ce test simple.

+0

Merci pour la suggestion. Si je mets des trucs comme ça, ou des commandes communes comme "dir" ou "ping", ça marche bien. Pour le programme particulier que j'essaie de lancer, il ne produit rien s'il est appelé depuis LiveCode. Cela fonctionne si j'appelle le fichier batch du terminal cmd. C'est pourquoi je me demande si je peux créer un programme intermédiaire (autre que cmd.exe) pour exécuter le fichier .bat et retourner la sortie à LiveCode. – bbglazer

+0

Avez-vous essayé de reproduire exactement la même situation que celle décrite dans ma réponse? Ça ne marche pas du tout? Notez que vous devez reproduire exactement la même chose. N'utilisez pas un fichier batch différent ou une commande shell différente. – Mark

+0

Oui, je l'ai fait comme vous venez de le demander. La sortie dans ma boîte de message est: 'test' Appuyez sur une touche pour continuer. . . – bbglazer