2016-03-07 2 views
0

J'ai travaillé sur un projet qui utilise un programme appelé TeraTerm pour envoyer des commandes à un téléviseur via un port série. J'ai découvert que lorsque j'ouvre le programme manuellement après un redémarrage, je dois ouvrir le bon port et ensuite envoyer le fichier de commande .dat plusieurs fois avant qu'il ne prenne réellement (éteint le téléviseur).Comment envoyer une commande en ligne de commande plusieurs fois

Les commandes que j'utilise proviennent de la page this.

Quoi qu'il en soit, j'ai couru la commande

TTERMPRO /C=7 /DS /FD=C:\Commands\TurnOffTest3.dat /FD=C:\Commands\TurnOffTest3.dat /FD=C:\Commands\TurnOffTest3.dat 

en espérant que cela me permettrait d'envoyer plusieurs fois le fichier. La fenêtre TeraTerm s'est ouverte comme d'habitude, mais le fichier n'a pas été envoyé ou n'a eu aucun effet.

Il y a une très forte probabilité que j'expédie les commandes de manière incorrecte, car je suis très nouveau dans l'invite de commande elle-même. Est-il possible que je puisse appeler la commande pour envoyer un fichier plusieurs fois? Si je n'interprète pas correctement l'interface donnée sur le site ou même si la façon dont j'utilise les commandes est fausse, tout conseil est le bienvenu. Remarque: Oui, je suis sûr que le fichier de commande que j'envoie est le bon, car lorsque j'envoie le fichier manuellement (par exemple, j'utilise l'interface graphique), le téléviseur s'éteint comme prévu.

EDIT: J'ai essayé d'envoyer le fichier avec et sans guillemets dans son nom.

+1

'pour/L %% G (1,1,3) ne TTERMPRO ... En savoir plus sur' [commande FOR] (http://ss64.com/nt/ for.html). Cette variante pourrait aider: [FOR-List of numbers] (http://ss64.com/nt/for_l.html) – JosefZ

+0

Je peux mal comprendre ce que fait le %% G (et oui, j'ai d'abord vérifié le lien). Quand j'exécute cette commande, j'obtiens une réponse disant que "%% G était inattendu en ce moment". Pensées? @JosefZ –

+0

Nvm, je viens de réaliser que je devrais seulement utiliser un% –

Répondre

1
for /L %G in (1,1,3) do TTERMPRO … 

En savoir plus FOR command:

Si vous utilisez la commande FORà la ligne de commande plutôt que dans un programme de traitement par lots, utilisation seulement un pour cent signe: %G au lieu de %%G.

Remarqué dans help information about system commandsfor /? ainsi: Pour utiliser la commande FORdans un programme de traitement par lots, spécifiez %%variable au lieu de %variable. Les noms de variable sont sensibles à la casse, donc %i est différent de %I.

==> for /? 
Runs a specified command for each file in a set of files. 

FOR %variable IN (set) DO command [command-parameters] 

    %variable Specifies a single letter replaceable parameter. 
    (set)  Specifies a set of one or more files. Wildcards may be used. 
    command Specifies the command to carry out for each file. 
    command-parameters 
      Specifies parameters or switches for the specified command. 

To use the FOR command in a batch program, specify %%variable instead 
of %variable. Variable names are case sensitive, so %i is different 
from %I. 
… 

Autres lectures Syntax: Escape Characters, Delimiters and Quotes